栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

vs2017将项目发布成可安装exe、可能出现的问题及解决方法

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

vs2017将项目发布成可安装exe、可能出现的问题及解决方法

利用vs开发完程序后,需要将自己的项目发布成可安装的exe,以便在其他电脑上进行人机交互。之前发表过一个简单的发布过程,但是如果项目内容过大,配置环境比较复杂时,如果想发布成功,并最终安装实现运行,对我这个小白来说比较困难。事实证明,确实很痛苦,因此写下这篇博客,为同样问题所困扰的各位同志提供一些解决思路。

第一步:建立类库

解决方案—>新建项目—>选择类库 如下图所示

同时选择框架,和其他项目所在的框架一样即可,这里自己选择的框架为 4.5.2 如下所示

将类库下class1.cs 文件删除,并添加安装程序类 installer.cs。

第二步 创建setup project

解决方案—>新建项目—>选择setup project 如下所示
查看该项目的文件系统(file system)会发现包含三个文件夹 如下所示

文件夹1 主要存放bin下 debug文件夹(包括所有文件和文件夹)以及其他的必要文件比如我在项目下建立了一个resources文件用来存储某些控件的image,所以在bin下必须将这些必要的文件添加到文件夹1下,直接拖拽都可以。
文件夹2 存放程序启动的exe快捷方式;
文件夹3 存放程序启动的exe快捷方式以及msiexec.exe的快捷方式

设置setup属性中的目标平台,在项目中的有些插件需要的64位,有的是32位,所以尽量选择64位的即可,默认是X86。如下所示。

第三步 文件夹1 下添加项目输出和msiexec.exe文件

添加第一步类库作为主输出,如下所示。

添加msiexec.exe。 将c:windowssystem32msiexec.exe文件移到桌面(或者其他地方)(否则在setup生成时,会提示 msiexec.exe 受到c:windowssystem32文件夹保护而导致生成失败),将桌面下的msiexe.exe添加到文件夹1下。

同时将第二步中所提及的debug文件和自己所建立的必要资源文件(我这里是resources)添加到文件夹1下,结果如下所示。

第四步 创建msiexec.exe 和主程序的快捷方式

创建msiexec.exe的快捷方式,重命名为卸载.exe,并移到文件夹3下面,操作如下。

两次创建主程序的快捷方式,并重命名,分别移到文件夹2和文件夹3,最终文件夹2和文件夹3包含的文件如下。

第五步 简单也很重要

将setuoproject的 producecode属性值复制给卸载.exe的arguments属性。


经过上述操作之后,基本都可以通过发布过程,并可安装并顺利运行。
但是,在发布过程中会提示一些warning(可以忽略),如果出现error,那么发布过程就会cancel,此时你要根据输出控制台显示的error进行问题解决,比如我这里有两类error,一个就是说需要移除下图的文件,因为受保护,因此我将文件在setup项目中移除,并不影响。

第二个提示error就是内存资源不足。我觉得可能就是由于重复添加文件导致的,因此繁琐的操作就是将提示的文件依次移除,我这里就是没有添加bin文件夹下的release文件夹,至此问题解决顺利发布。
但是在安装在别人电脑上时,会有一些配置环境要求,因此对于电脑的配置环境不支持程序正常运行的,要根据自己项目中所涉及的某些配置文件,安装在需要的电脑上,才能保证安装后的程序正常运行。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/910811.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号