手把手教你使用VS制作winform安装包
手把手教你使用VS制作winform安装包
使用VS 自带的打包工具,制作winform安装项目
开发环境:VS 2008 Access
操作系统:Windows XP
开发语言:C#
项目名称:**管理系统
步骤:
第一步:打开开发环境VS2008,新建项目,选择其他项目类型,再选择"安装项目",输入名称及选择安装路径;
第二步:进入文件系统选项卡,选择应用程序文件夹,在中间的空白区域右键选择"添加文件",添加项目文件(exe,dll);
第三步:添加项目所需文件;这里有两个文件夹需要注意(DataBase和Report),因为DataBase是存储项目数据库,而Report则是存储项目所需的报表文件.rpt,因此呢,在应用程序夹中也需要建同名的文件夹,并且添加所需的文件。效果:
第四步:为了在开始程序菜单中和桌面应用程序中看到安装程序,这里我们就需要为项目创建快捷方式。右键选择可执行文件(PersonFinance.exe),创建快捷方式,进行重命名"**公司**管理系统",将该快捷方式拖放到 '用户的"程序"菜单' 中。重复该步骤将新建的快捷方式添加到 "用户桌面" 文件夹中
最好在用户菜单中建立一个文件夹,存放安装程序
第五步:设置系统必备,右键选择安装项目,进入属性页中,单击"系统必备"按钮,进入系统必备对话框;勾选"创建用于安装系统必备组件的安装程序",在安装系统必备组件列表中,选择
1)、Windows Installer 3.1(必选)
2)、.NET Framework 3.5 (可选)参考最后说明
3)、Crystal Report Basic for Visual Studio2008(x86,x64) (可选) 项目中用到了水晶报表就需要勾选此项
重要一点:勾选"从与我的应用程序相同的位置下载系统必备组件(D)",其实意思就是说你勾选后,生成安装项目时,在你安装项目的路径下,会有你在系统必备组件列表中勾选的组件.(系统自动完成,这一点还不错,不需要你自己去下载组件)
到这里安装包制作差不多完成了一大半 接着来
第六步:卸载程序,因为安装包做好之后不能只有安装程序,还要有卸载程序
首先呢,在"C:\WINDOWS\system32"路径下,找到msiexec.exe 添加到应用程序文件夹中,创建快捷方式,并命名"卸载管理系统"或"Uninstall"
其次呢,选择安装项目的ProductCode
右键选择卸载程序的快捷方式,进入属性,在Arguments选项中 输入/x 及ProductCode; 例如:/x {6931BD71-5C5E-4DA1-A861-14C7D1A78B97}
将卸载程序同时存放到用户的开始菜单的文件夹中(在第四步中新建)
第七步:更改安装程序属性,右键选择安装项目属性,可以设置项目作者及名称,其他属性信息可以根据实际情况进行设置.
第八步:生成安装项目
生成时,会出现些警告:应将“msiexec.exe”排除,原因是其源文件“C:\WINDOWS\system32\msiexec.exe”受到“Windows 系统文件保护”。
两个或多个对象具有相同的目标位置(“[targetdir]\model.dll”)
解决方案:
第一种:都不处理
第二种:第一类警告,可以编写卸载程序
第二种警告:删除相同的文件
安装项目制作完毕.
安装及运行:
直接运行steup.msi 或是setup.exe 会出现
在桌面和开始菜单中也会有相应的安装程序、卸载程序
说明及小结:
1、.net framework 框架是可选的,不一定说你采用的是VS2008开发就必须要使用.net framework 3.5,只要你在程序中没有使用到.net framework 3.5 的特性比如(LINQ),那么你选择框架时,是可以选择2.0的,为什么?因为2.0只有20多MB,而3.5则有200多MB。
更改方式:在安装项目下面有个检测到的依赖项文件,双击里面的Microsoft .net framework,进入了启动条件选择卡,右键选择.net frmaework 在Version中选择你所需的.net framework框架
2、文章中涉及到的名称大家可以根据实际所需进行设置。
----以上转自:http://www.cnblogs.com/chankcheng/articles/1774932.html
打包framework3.5+sp1呢,其实还需要如下几步才行:
这两天都在弄一个 Windows Setup 项目,希望弄得尽善尽美,直到刚刚终于大功告成,但当我想将 .Net Framework 3.5 SP1 的安装档也加入到我的 Setup 项目时(如下图),却发现项目无法编译。
错误讯息如下:>>>>>>>>>>
1、系统必备的安装位置未设置为“组件供应商的网站”,无法在磁盘上找到项“.NET Framework 3.5 SP1”中的文件“DotNetFX35SP1\DotNetFX35\x64\dotnetfx35langpack_x64zh-CHS.exe”。有关详细信息,请参见“帮助”。
2、系统必备的安装位置未设置为“组件供应商的网站”,无法在磁盘上找到项“.NET Framework 3.5 SP1”中的文件“DotNetFX35SP1\DotNetFX35\x86\dotnetfx35langpack_x86zh-CHS.exe”。有关详细信息,请参见“帮助”。
解决的方式如下:>>>>>>>>>>>>>>>
1. 先取得 .NET Framework 3.5 Service Pack 1 (Full Package) ( 231 MB )
2. 再根据 Visual Studio 2008 SP1 readme 的 2.3.1. General Issues 章节进行修正即可!
由于中文版的 Visual Studio 2008 SP1 自述文件 文件质量有问题,照着做很容易做错,因此修正的流程补充说明如下:
1. 先找到 [Program Files]\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFX35SP1 目录,若是 x64 架构 [Program Files] 请替换成 C:\ProgramFiles(x86)
2. 用「记事本」开启该目录下的 Product.xml 文件
3. 将以下片段插入到
<PackageFiles CopyAllPackageFiles=”IfNotHomeSite”> 这行下方:
<PackageFile Name="TOOLS\clwireg.exe" />
<PackageFile Name="TOOLS\clwireg_x64.exe" />
<PackageFile Name="TOOLS\clwireg_ia64.exe" />
4. 找到<PackageFileName=”dotNetFX30\XPSEPSC-x86-en-US.exe” 这行与 <PackageFile Name=”dotNetFX30\XPSEPSC-amd64-en-US.exe” 这行,并将这两行的 PublicKey 原本的值改成以下的值 ( 请注意复制的时候不要复制到空格符 ):
3082010A0282010100A2DB0A8DCFC2C1499BCDAA3A34AD23596BDB6CBE2122B794C8EAAEBFC6D526C232
118BBCDA5D2CFB36561E152BAE8F0DDD14A36E284C7F163F41AC8D40B146880DD98194AD9706D0574476
5CEAF1FC0EE27F74A333CB74E5EFE361A17E03B745FFD53E12D5B0CA5E0DD07BF2B7130DFC606A2885758
CB7ADBC85E817B490BEF516B6625DED11DF3AEE215B8BAF8073C345E3958977609BE7AD77C1378D33142F
13DB62C9AE1AA94F9867ADD420393071E08D6746E2C61CF40D5074412FE805246A216B49B092C4B239C74
2A56D5C184AAB8FD78E833E780A47D8A4B28423C3E2F27B66B14A74BD26414B9C6114604E30C882F3D00B
707CEE554D77D2085576810203010001
5. 将 Product.xml 存档。
6. 将已下载的 .NET Framework 3.5 Service Pack 1 (Full Package) 解压缩到任意暂存目录,解压缩的方法必须透过指令执行:dotNetFx35.exe /x: (或用WinRAR解压)
7. 解压缩后,该目录会多出一个WCU目录,在里面又会有一个dotNetFramework目录,请将WCU\dotNetFramework目录下所有的目录与档案都移至[ProgramFiles]\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFX35SP1 目录下。完成后的图示如下:
8. 如上图标红框的部分是 语言包(Language Pack) 的部分,各位在 Visual Studio 2008 SP1 自述文件 的 2.3.1. 章节里也可以下载的到,照着目录放置下载后的档案即可。 以 Chinese (Traditional) 为例,档案下载后的目录结构会变成以下这样:(简体中文目录名是:zh-CHS,将dotNetFX35目录完整拷贝到zh-CHS下即可。)
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/qwlovedzm/archive/2010/06/03/5645099.aspx
正面猛男