vs2010制作安装包

       这是我在网上搜到的,加以自己的理解和对一些不明白的地方做了一些更新说明。

1、  在vs2010 选择“新建项目”à“其他项目类型”à“ Visual StudioInstaller”à

“安装项目”:

命名为:Setup1 ,选择好位置后点确定。这时在VS2010中将有三个文件夹,如图:

a.“应用程序文件夹”:表示要安装的应用程序需要添加的文件;

b.“用户的‘程序’菜单”:表示应用程序安装完,用户的“开始菜单”中的显示的内容,一般在这个文件夹中,需要再创建一个文件用来存放:应用程序.exe和卸载程序.exe;

c.“用户桌面”表示:这个应用程序安装完,用户的桌面上的创建的.exe快捷方式。

2、  应用程序文件夹中点右键,添加文件:表示添加要打包的文件;

 

添加的文件一般是已经编译过应用程序的debug目录下的文件(主要为.exe文件,其他文件可选)

 

 

如果有所需要的动态库也加载进来:

如果还要添加子文件夹 则需要“添加文件夹

然后把对应的子文件里的内容添加到此文件夹中;

 

 

把需要创建程序快捷方式的图标也添加进来(在res文件夹下),后缀名为:ico

 

 

3、  在创建的项目名称(Setup1)上点击右键à属性,选择系统必备:

     

如果在项目名称(Setup1)的“检测到的依赖项”里检测到所添加的程序文件有.NET依赖,如图:  则选择所需的.NET的版本和WindowsInstaller3.1(可选项),如果没有则不用选。

选择:“从与我应用程序相同的位置下载系统必备组件”,这样安装包就会打包.NET FrameWork ,在安装时不会从网上下载.NET  FrameWork组件;但是安装包会比较大。

 

在创建安装程序时,需要设置启动条件(如果有.NET依赖):在项目名称(setup1)上,点击右键选择“视图”à“启动条件”: 

 

然后VS2010会弹出启动条件视图:

 

在“启动条件”的属性中 , 点击Version选择所需的.NET版本。

 

4、  设置安装文件的目录(路径):

创建的项目名称(setup1)的属性中设置参数如下图:

其中Author 为作者;Manufacturer为公司名称;ProductName为应用程序的名字;

例如我的设置为:

Author:nnrh;

Manufacturer:M&W;

ProductName:测卡程序。

把InstallAllUsers 设置为True 。(这样在“控制面板”程序中会显示公司的名称;

在安装时会默认为“任何人”,否则默认为“只有我”)

 

 

 

 

 

点击应用程序文件夹,在其属性里,如下图:DefaultLocation为默认的安装路径,第一个([ProgramFilesFolder])为系统主目录(默认C:\Programe),第二个([Manufacturer])为公司名,第三个([ProductName])为应用程序名称,这样在安装时就会创建两层的文件路径。需要删除DefaultLocation中的:[Manufacturer]。删除后只有应用程序的名称(默认的安装路径为:C:\ProgramFiles\测卡程序,如果没有删除,则默认的安装路径为:C:\ProgramFiles\M&W\测卡程序)

 

5、 创建应用程序图标与卸载程序:

A.“在应用程序文件夹”中的.exe文件中,点击右键,创建快捷方式:

 

重命名“测试程序”,然后点击右键属性:选择Icon

 

双击进入,点击 浏览—》应用程序文件夹--》选择我们之前添加的“CheckCard.ico”

确定后,拖动此快捷方式到“用户桌面”

B. 在《用户的‘程序’菜单》中添加一个文件夹,命名为:“测试程序”(如果不添加一个文件夹,安装程序后在开始--》程序里会直接显示CheckCard.exe,如果添加了文件夹,安装程序后在开始--》程序里会出现一个测试程序文件夹,在其下面会有CheckCard.exe程序)然后同样的方式创建CheckCard.exe的一个快捷方式命名为测试程序,选择图标,拖动到“测试程序”文件夹中;

 

c.创建卸载程序:

在“应用程序文件夹”中添加:C:Windows\System32\Msiexec.exe

 

右键创建快捷方式,重命名为:卸载,把此快捷方式拖动到“测试程序”文件夹中;

 

点击项目名称(Setup1),在属性中找到:ProductCode,复制此ProductCode ,粘贴到“卸载”快捷方式的Arguments属性里,前面加/x空格。

        注:这里是ProductCode,而不是UpgradeCode.

 

6、  完成以上步骤,就可以生成解决方案了。

7、  生成解决方案后,在debug文件夹中就是我们需要的安装包(setup.exe),如果在前面的《系统必备》里选择了.NET版本,则会.NET 版本安装包(DotNetFX40文件夹,根据版本不同,名称也有所不同),安装包发布时应将整个Debug文件夹发布出去。

8、  点击setup.exe安装完在开始菜单中有“测试程序”文件夹,里面有我们创建的两个快捷方式;

     

 

桌面上也有快捷方式。

 

 

我们安装后,右键点击桌面的测试程序,选择属性,会发现《打开文件位置》(本文用的系统是Win7,XP下为查找目标)是灰色的,不用使用,开始程序里面的也是如此。如图:

 

这个问题应该是vs打包工程的问题,在vs中好像没找到可以设置的地方,在网上查了半天,好象只有下面一种解决办法:

在网上下载orca工具(msi文件编辑工具)。安装orca后,用orca打开msi安装包,在左边的Tables列表中找到Shortcut表,在右边记录中找到Directory为DesktopFolder的记录,修改该记录的Target属性为 [TARGETDIR]应用程序名称.exe(测试过不用后面的.exe也可以)。

 

 

 

可以看出DesktopFolder为桌面快捷方式,最上面的为开始程序里的快捷方式,将Target属性改过后保存即可。安装后打开文件夹位置可用。

 

点击可以打开CheckCard.exe所在文件夹。

 

还有我们点击开始程序里的卸载,可以卸载掉程序,但是点击安装文件夹里的msiexec.exe会出现以下窗口:

 

Msiexec.exe直接点击是不能卸载程序的,那要是客户要想卸载掉程序,万一点击了安装程序下的msiexec.exe出现上面的情况可能会以为有问题。为了解决这一问题,我们可以在《目标计算机上的文件系统》上点右键—》添加特殊文件夹—》用户的ApplicationData文件夹(这里可以自己根据情况添加),把msiexec.exe放到此文件夹下(可以更名为uninstall.exe),然后再创建快捷方式(注:在msiexec.exe创建好快捷方式后,不能再移动msiexec.exe到别的文件夹里,如果这样会使快捷方式找不到卸载程序而无法卸载程序)。这样安装后不会在程序的安装文件夹下出现msiexec.exe,会安装在Application Data文件夹里(这是个隐藏文件夹)。客户卸载程序时只能从开始程序里卸载或是在控件面板的卸载程序里卸载。(这个我个人的想法,其实也可以不用添加卸载程序,要想卸载程序,可以在控件面板的卸载程序里卸载)。

 

 

下面是英文版VS2010制作中文环境安装包(这是网上搜的,因个人用的汉化版的VS,所以不存在下面的情况,所以没有测试过)

自从VS2010发布以来,一直在用英文版本,接下来就说明用英文版本制作中文环境安装包方法。
开发工具:VS 2010 EN 
开发语言:Visual C#

先来看下英文版制作中文环境安装包出现的错误:

当创建有中文字符的文件夹或文件名都会出现波浪线,安装后就会是乱码,当然,解决这个问题的方法也很简单,

按照上图,设置安装包属性Localization ChineseSimplified)。

这样虽然可以解决中文字符问题,但如果是要打包.net 环境的话(当然,您要是不打包.net环境这个就不在讨论之内了)

,如下图选择将.net环境一起打包,

当生成安装程序的时候,出现了以下错误,如下图:

根据错误,很明显没有找到中文语言包,但是错误中说的磁盘又指的哪个目录呢?

目录是指这里:C:/ProgramFiles/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFX40Client(我的VS装在C盘,根据实际情况来定)

当然您会想是不是把中文语言包放在目标目录下不就可以吗?暂且不下判断,下载个中文语言放到目录下试试,

Microsoft  .Net Framework 4.0 完整版语言包   Microsoft .Net Framework 4.0客户端版语言包

下载下来之后,将完整版复制到“Packages/DotNetFX40/zh-Hans  (对应语言环境)

将客户端版复制到“Packages/DotNetFX40Client/zh-Hans”

重新生成安装包程序。。。。。。

Rebuild All Succeded

注:所有需要一起打包的程序放在“C:/ProgramFiles/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages”

可根据实际安装环境进行配置。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值