他山之石——vs2013 安装与部署及程序打包
C#打包需要这个:InstallShield 2013 Limited Edition for Visual Studio 。
下载地址: InstallShield 2013 Limited Edition
InstallShield程序打包图解
VS2012中打包工具被看做程序集,在使用时和程序集一样被创建到程序解决方案下。需要我们做的是添加项目即可。但是对于初次使用的朋友来说,我们需要根据提示一步步的先下载安装该打包工具。具体的安装方法不再详述,网上资料很多 。
1、设置安装程序集 InstallShield安装完成后,执行以下步骤右键解决方案-->添加-->新建项目-->其他项目类型-->安装和部署,具体操作如下图:
接下来
2、发布程序 在继续往下操作前一定要选择发布,在启动项目的属性内设置发布文件夹默认路径设置为安装系统的文件夹。因为我们是对“魔镜系统”进行打包的,所以在这个项目上右键-属性。
然后你就看到了这个:
如第二个圆圈所示:路径中最后的setup1是我刚才新建的安装部署程序集的目录。这个需要注意。
3、设置程序安装信息
Application Information主要设置程序在安装时显示的有关程序的一些信息,如:程序的开发者、程序开发公司,程序安装图标和程序简介等。
其中,2,3可以按照自己的想法填写。点击4.就进入到了
把语言按照如图所示,改为简体中文。这个页面中的其他选项可以自己摸索摸索,都可以改的。
4、添加程序文件
在下图中的几步中添加程序文件时会有主输出、源文件等多个选项框,其实它的生成机制和.NET程序的编译机制是相同的。下图中的第五部显示出的UI.主输出,在生成安装文件后程序包中包含了与UI层进行交互引用的其它层的引用文件,但不会生成和UI层(启动层)没有相连的组件,我们只能通过手动添加。
注意:如果你的第四步是空白的。说明你前面的第一大步就弄错了,没有在解决方案上添加安装部署。
然后选择“魔镜系统的”主输出。你就看见了圈5。圈7是一个dll文件和一个配置文件,由于我要读写硬件,所以这些也是我必须的。点击圈6就把这两个文件添加到了圈7中。圈8是我在圈2上“右键-新建”的文件夹,存放我系统的图片的。按照你自己的需求也可以建立相应的文件夹。
5、添加程序的资源文件 程序源文件是程序运行的资源文件,也包含了程序的源码文件。如果不需要打包源文件的话,这步可以省略。
6、设置安装注册文件 如果开发的程序中使用了第三方控件,这时在安装时往往需要注册到目标系统中,同样Install也为用户提供了此功能。Install能够通过设置dll文件或OCX文件的注册,首先要添加注册的文件,然后通过设置文件的安装属性来指定注册与否,设置如下图。(在dll文件上右键-properties)
7、设计程序的打开方式
Application Shortcuts 程序快捷打开方式,Install为用户提供了两种显示形式,分别是Win菜单和桌面。下图显示了设置的一些注意项,此阶段也可以设置程序的显示图标。
在圈3里面一直点,直到找到这个:找到后双击。
接下来你就看到了这个:
圈1可以重命名,如命名为“魔镜系统”,这里我就不在重命名了,圈2分别是在开始菜单创建快捷方式和在桌面创建快捷方式。
注意:
然后你就看到了这个:
然后创建卸载程序的快捷方式
8、设置程序安装注册表项 一般的应用程序在安装时不需要考虑程序的注册表项,此步骤可以不用设置。
9、设置程序安装时的安装视图
根据自己的需要进行设计即可。
10、打包环境
设置完上面的步骤后,我们的打包程序基本设置完成,但是在一些情况下我们往往要打包.net环境或者其它程序运行所需要的Windows环境,Install也为我们很好的设计了环境的打包。 在选择需要打包的环境时一定要注意文件的名称,一般往往是需要直接将环境安装包放到安装exe中这时我们要选择名称为full的文件,如我想要将.NET Framework 4.5full的完成安装包集成到exe中,这时我要选中Microsoft .NET Framework 4.5 full然后等待Vs将该环境的安装包下载到程序集文件夹中即可。(注意:这个东西是要下载的,下载时间依据你的网络状况而定,网络不好可能会一直无法下载)另外一定要注意名称后面的(Web Download)括号的内容说明文件只是一个链接,在安装时需要网络下载才可以实现完成安装。
11、发布程序
上面的安装步骤执行完成后即可生成解决方案,但是生成的文件会放在DVD-5文件夹内,想要使用安装文件的话就必须拷贝整个文件夹否则安装会出错,这样内容很繁琐,而且给客户的安装体验度也很差,那应该有其它的解决办法吧,是的,如下图所示,我们将使用SingleImage的安装包,将所有文件集成到一个Setup.exe中,再次安装的时候只需要一个Setup.exe即可。
如果我们的安装文件内没有打包程序运行环境那上面的操作步骤就完全可以满足只需要一个Setup.exe即可的要求了,但如果需要将安装环境打包到Setup.exe中的话还必须要经过下图的步骤。
好了设置完成后,接下来就是生成解决方案(这个就不截图了,在项目上右键-生成就ok了)了或者是只生成单个程序集,这时候安装文件就只有一个setup.exe了,如下图。
操作完上述步骤后,程序打包基本设置已经完成,接下来要做的就是生成解决方案。生成解决方案后会在安装程序集下面生成一个名为Setup的文件夹,安装文件就保存在下面的目录中。Install在生成安装文件后会有Setup.exe和.msi两中安装文件,exe文件是安装的引导文件,核心文件是msi文件,里面封存了程序的组件。在里面找到Setup.exe文件及msi文件即可进行安装。
最后还要强调一点,Install打包工具中并没有继承中文环境,在它的底层语言库中没有中文语言,所以解决方案、程序集名称等涉及到与主输出相关的文件最好不要以中文名命名,否则会出现如下的错误:“ -7184: The FileName column of the File table includes characters that are not available on code page 1252”,该错误是在说明在代码段1252处没有发现和文件名相关的语言库。
写在最后:如果你需要多次生成安装部署(打包)的解决方案,最后再重新生成之前,在解决方案上“右键-清理”,否则重新生成的时候会出现错误。如果你清理的时候出现错误,那么就再次清理,一般这时错误就没有了。
给一个老外的操作视频http://resources.flexerasoftware.com/web/demos/IS2010_VSLE_Demo/IS2010_VSLE_Demo-lite.html可以参考参考