C#如何打包EXE程序生成setup安装文件

简介: 项目结束之后,有需要将winForm程序打包成.exe文件提供给用户。这里记录一下打包过程。

QQ图片20220426224623.jpg

项目结束之后,有需要将winForm程序打包成.exe文件提供给用户。


这里记录一下打包过程。


1:首先获取打包插件,如果你的VS已经安装,忽略此步骤。


点击 工具->扩展和更新,选择联机,搜索installer,安装。


QQ图片20220426224625.jpg


Vs2010以上版本基本上都有安装。


2:创建一个安装向导项目


创建过程如下图所示:


QQ图片20220426224628.png


QQ图片20220426224630.jpg


QQ图片20220426224633.jpg


QQ图片20220426224636.png


我们这里没有需要添加的文件,直接下一步。


QQ图片20220426224639.jpg

 

至此,新建安装向导程序创建完成。

 

我们将之前的源码项目变成Release模式重新生成,需要注意一个小细节,引用的第三方库的属性需要改成从本地复制,不然可能会有问题。


QQ图片20220426224642.jpg

 

下边我们将我们源码项目中Release目录中的文件添加到新建的安装向导程序中。


如下图所示:


QQ图片20220426224644.png


添加完成之后,重新生成解决方案。我的项目产生了如下报错:


QQ图片20220426224647.jpg

 

错误:面向“AMD64”的文件“Utils.DLL”与项目的目标平台“x86”不兼容


解决方法:


QQ图片20220426224650.jpg


点击项目,查看其属性中的TargetPlatform(目标平台)属性,将其改为X64,如上图所示


重新生成,这次没有报错。

 

下一步,点击左边栏的“应用程序文件夹”,修改其属性DefaultLocation


将DefaultLocation 从 [ProgramFilesFolder][Manufacturer][ProductName] 修改为 [ProgramFilesFolder][ProductName],否则安装路径不允许用户选择。


QQ图片20220426224652.jpg

 


添加快捷方式


程序安装成功之后,我们一般都习惯在桌面及开始菜单栏中生成快捷启动方式:添加方法如下:


QQ图片20220426224655.jpg


以我的程序来举例,给UMS创建快捷方式,分别拖拽至用户的“程序”菜单及用户桌面文件夹中,上图红框标注所示。



接下来我们给我们的软件添加logo,单击“用户桌面”目录。修改ICON属性。


QQ图片20220426224657.png


图标设置完成。

 

3:创建卸载程序,这个可以不创建,程序可在控制面板中进行卸载,但是好容易写篇博客,尽可能将所有的步骤都尝试一下,用不用再说。


右击”应用程序文件夹“,点击”添加“,选择”文件“,然后将"C:WindowsSystem32" 下面的”msiexec.exe“文件给添加进来,如果找不到,你可以直接搜。当然,你也可以再给msiexec.exe创建一个快捷方式命名为”unInstaller“。


QQ图片20220426224700.jpg

 

命名了快捷方式之后,将Setup属性(点击解决方案里面的setup弹出属性)

ProductCode拷贝到Uninstall属性的Arguments里面:


同时在前头加上 ”/X “,注意:x后面有一个空格。


QQ图片20220426224703.jpg


QQ图片20220426224706.jpg


至此,卸载程序创建成功。


重新生成项目,如下图所示:


QQ图片20220426224708.png




目录
打赏
0
0
0
0
16
分享
相关文章
用C#开发类似QQ输入法的不规则窗体的程序详解+代码打包分享
QQ窗体是圆角的,Kugoo窗体也是圆角的,QQ的输入法皮肤窗体是不规则的。。。等N多日常使用的程序主窗体都不是四四方方的,其实都是调用2D绘画函数按指定的路径画出来的,那么这一课我给入门级学者讲解的是关于C#实现这一功能。
996 0
C#使用Xamarin开发可移植移动应用进阶篇(8.打包生成安卓APK并精简大小),附源码
原文:C#使用Xamarin开发可移植移动应用进阶篇(8.打包生成安卓APK并精简大小),附源码 前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github.
1657 0
Unity 使用VisualStuido将C#脚本封装打包DLL使用
为了方便开发,不破坏写好工具的封装性,我们经常讲C#脚本打包成DLL使用,操作流程如下 创建项目,注意选择Net Framework版本,过高Unity无法支持 添加在脚本中使用的unity引用,在封装的脚本中我只使用了UnityEngine.
2080 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等