本文参考:http://www.cnblogs.com/daban/archive/2012/06/27/2565449.html
一、打包过程
1. 新建项目
打开你要打包的项目,点击新建项目,选择Other Project Types->Visual Studio Installer->Setup Project(如果找不到,说明你安装Visual Studio的时候,没有下载该组件,去官网下载安装即可)。在新建的时候,需要将项目添加到已有的解决方案,即Add to Solution,否则在后期添加项目输出时,弹出的界面是空白的。
建立项目成功,自动生成如下文件系统。
2. 添加项目输出
选择Application Folder(应用程序文件夹),右击添加Project output(项目输出),此时会弹出Add Project Output Group(添加项目输出组)窗口,点击Primary output(主输出),点击确定。
添加成功,自动在Applicaion Folder下生成以下两个文件。
3. 添加打包文件
往Application Folder中添加要打包的文件,添加的文件一般是经过编译的应用程序项目bin/debug目录下的文件。如果debug下面有子文件夹,则需要先添加文件夹,再把子文件添加到文件夹下。
4. 添加程序图标
往Application Folder中添加程序图标,后缀名为”.ico”。
5. 设置系统必备
右击打包项目名称,点击属性,点击prerequisites,选择.NET版本。这里,我的开发框架时4.5.2所以选择.NET Framework 4.5.2(另外,我还勾选了windows installer 4.5)。
在选择Specifify the install location for prerequisites的时候,根据你们自己的需要。不过需要注意的是,一开始我选择第二个,在最后生成的时候,报了如下错误:
ERROR: To enable ‘Download prerequisites from the same location as my application’ in the Prerequisites dialogbox, you must down load file ‘DotNetFX452\NDP452-KB2901907-x86-x64 -AllOS-ENU.exe’ for item ‘Microsoft .NET Framework 4.5.2 (x86 and x64)’ to your local machine. For more information….
由于需要另外下载东西,我把选项改为第一个选项。
6. 设置启动条件
创建安装程序时,需要设置启动条件,右键点击项目名称,选择view->Launch Conditions,得到如下窗口。
左键点击.NET Framework,为属性中的version选择对应的.NET Framework。
7. 设置项目属性
左键点击项目,在属性中设置参数Author(作者)、Manufacturer(公司名称)、ProductName(产品名称)并把InstallAllUsers设置为true。
左键点击Application Folder,查看其属性。如下图:第一个为系统主目录(默认C:\Programe),第二个为公司名([Manufacturer]),第三个为应用程序名称,这样在安装时就会创建两层的文件路径。需要删除DefaultLocation中的:[Manufacturer]。删除后只有应用程序的名称。
8. 创建快捷方式
进入Application Folder,点击.exe文件,创建快捷方式,重命名为“MyTetris.exe”。右键点击属性,为其设置Icon,选择我们之前添加的.ico文件。
在User Programm Menu中添加文件夹,重命名为“MyTetris”。将快捷方式“MyTetris”分别拖动到“MyTetris”文件夹。同上再创建一个快捷方式,设置完Icon后,拖动到User’s Desktop文件夹中。
9. 卸载程序
在Application Folder中,添加Msiexec.exe文件(文件路径为C:Windows\System32 \Msiexec.exe)。右键点击Msiexec.exe文件创建快捷方式重命名为“uninstall MyTetris”。
将“uninstall MyTetris”拖动到“Uer Programm Menu->MyTetris”文件夹中。
左键点击项目名称,找到ProductCode。复制将其粘贴到“uninstall MyTetris”的Arguments属性,并在前面加”/x ”,得到结果如***意x后有空格)。
10. 生成解决方案
完成以上步骤,就可以生成解决方案了,生成解决方案后,在debug文件夹中就是我们需要的安装包。
点击安装在开始菜单会有“test程序”文件夹,里面有我们创建的两个快捷方式“test”和“卸载test”,桌上也有快捷方式。
二、其他
打包过程中,报错signtool.exe not found.
解决方法:左键点击要打包的项目名称,在Signing下找到sign the ClickOnce manifests,取消打勾。