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

1,369 阅读3分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第17天,点击查看活动详情

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

这里记录一下打包过程。

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

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

1.png

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

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

创建过程如下图所示:

2.png

3.png

4.png

5.png

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

6.png

 

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

 

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

7.png

 

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

如下图所示:

8.png

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

9.png

 

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

解决方法:

10.png

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

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

 

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

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

11.png

 

添加快捷方式

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

12.png

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


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

13.png

图标设置完成。

 

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

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

14.png

 

命名了快捷方式之后,将Setup属性(点击解决方案里面的setup弹出属性)ProductCode拷贝到Uninstall属性的Arguments里面:

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

15.png

16.png

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

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

17.png

有好的建议,请在下方输入你的评论。

欢迎访问个人博客 guanchao.site