VS2010发布、打包C#源程序
(整合资源·共同学习)
参考资料:
http://blog.csdn.net/fxfeixue/article/details/5938651
1、在vs2010 选择“新建项目” ->“其他项目类型”->安装和部署 -> “Visual Studio Installer->.net Framework3.5“安装项目”->命名为:setup1
这时在VS2010中将有三个文件夹:
(1)“应用程序文件夹”表示要安装的应用程序需要添加的文件;
(2)“用户的‘程序’菜单”表示:应用程序安装完,用户的“开始菜单”中的显示的内容,一般在这个文件夹中,需要再创建一个文件用来存放:应用程序 .exe和卸载程序.exe;
(3)“用户桌面”表示:这个应用程序安装完,用户的桌面上的创建的 .exe快捷方式。
2、“应用程序文件夹”中点右键添加 -> 文件
(1)添加的文件一般是已经编译过应用程序的debug目录下的文件;
(2)如果debug 下面有子文件夹则需要“添加文件夹”,例如:data,然后把对应的子文件里的内容添加到此文件夹中;
(3)把需要创建程序快捷方式的图标也添加进来:后缀名为:ico;之后使用。
3、在“解决方案资源管理器”中,在创建的项目名称(Setup1)上点击右键 -> 属性 -> 系统必备 ->选择“.NET Framework 3.5 SP1”和“Microsoft .NET Framework 4 Client Profile(x86和x64)” -> 选择:“从与我应用程序相同的位置下载系统必备组件”。(这样安装包就会打包.NET FrameWork ,在安装时不会从网上下载.NET FrameWork组件;但是安装包会比较大。 )
4、VS2010发布.NET2.0的版本,在创建安装程序时,需要设置启动条件:在项目名称(setup1)上 -> 点击右键选择“视图” -> “启动条件” -> 点击“.NET Framework”在Version上面选择.NET Framework 2.0;( 这样.NET Framework 2.0上创建的项目在安装时,就不会安装.NET3.5或其他版本, 也不会重启解决 .NET 2.0 创建的项目,安装.NET FrameWork3.5的问题)。
5、设置安装文件的目录(路径)
(1)在创建的项目名称(setup1)点击左键(不是右键),在属性中设置4个参数:
其中Author 为作者;Manufacturer为公司名称;ProductName为应用程序的名字; 例如我们设置为:BeyondKKO;Manufacturer:自由公司;ProductName:串口测试。 把InstallAllUsers 设置为True 。(这样在“控制面板”程序中会显示公司的名称; 在安装时会默认为“任何人”,否则默认为“只有我”)。
(2) 在“应用程序文件夹”点击左键 -> 找到属性栏 -> 在DefaultLocation中:第一个为系统主目录(默认C:\Programe),第二个为公司名([Manufacturer]),第三个为应用程序名称,这样在安装时就会创建两层的文件路径。故需要删除DefaultLocation中的:[Manufacturer] 。删除后只有应用程序的名称。
6、创建应用程序图标与卸载程序
(1)“在应用程序文件夹”中的 .exe文件中,点击右键 -> 创建快捷方式 -> 重命名为:某终端 -> 右键属性 -> 选择icon设定图标 -> 将此文件拖到“用户桌面”
(2)“用户的‘程序’菜单”中添加一个文件夹,命名为:“某终端”。 然后同样的方式创建.exe一个快捷方式(“某终端”),拖动到“用户的‘程序’菜单”下的“某终端文件夹”下;
然后给.NET应用程序创建一个卸载程序:在“应用程序文件夹”中添加:
C:Windows\System32\Msiexec.exe
(3)右键创建快捷方式,重命名为:卸载,把此快捷方式拖动到“某终端”文件夹下;
(4)点击项目名称(Setup1),在属性中找到:ProductCode。复制此ProductCode ,粘贴到“卸载”快捷方式的Arguments属性,前面加“/x空格”(“即/x ProductCode”)。
(5)右击setup1 -> 生成 可以生成解决方案,在projects根目录下的Debug文件中可以找到:setup.exe和setup1.msi。这就是我们要的安装包,安装即可。
可能出现的问题:
(1)首先我们需要 framework 3.5_SP1 安装包,可以到下面的地址下载
http://download.microsoft.com/download/2/0/e/20e90413-712f-438c-988e-fdaa79a8ac3d/dotnetfx35.exe
(2)解压dotnetfx35.exe,导航到 framework 3.5_SP1/wcu/dotNetFramework/ 文件夹,将其中的 dotNetFX20、dotNetFX30、dotNetFX35、dotNetMSP 文件夹和文件 dotNetFx35setup.exe 复制到:
%ProgramFiles%/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFX35SP1 目录中,对于 x64 操作系统,该路径位于 %ProgramFiles(x86)% 下。
这时执行发布,会提示如下错误:
系统必备组件的安装位置未设置为“组件供应商的网站”,并且无法在磁盘上找到项“.NET Framework 3.5 SP1”中的文件
“DotNetFX35SP1/DotNetFX35/x64/dotnetfx35langpack_x64zh-CHS.exe”。有关详细信息,请参见帮助。
(3)按照提示,下载需要的文件,地址如下:
下载完dotnetfx35langpack_x86zh-CHS.exe 和dotnetfx35langpack_x64zh-CHS.exe,导航到
%ProgramFiles%/MicrosoftSDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFX35SP1/zh-Hans 目录,新建一个文件夹,命名为 dotNetFX35,在 dotNetFX35 文件夹内建立两个子文件夹,分别命名为 x86 和 x64,然后把刚才下载的文件拷到相应的子目录中。
(4)成功发布。