虽然网上关于InstallShield的制作说明已经很多,但是看的时候还是会有些晕乎乎的,不得不说很复杂。前段时候做了一次,后面需要升级,在重新做的时候发现有些地方自己又忘了,所以有必须将自己看的教程和实际操作的体会结合起来,认真的写个特别详细的制作说明,使步骤尽可能简化清晰,为了自己也为其他同仁。各位可以先下载已做好的安装包,看看是否符合你的需求。
一、在制作安装包前,先整理一下安装文件
先来看“先决条件安装文件”,这里我们用来存放运行该产品需要的基本环境(比如:Net Framework、数据库等)的安装文件。另外还放了图标和许可协议,制作的时候需要,放一起便于管理。
再来看看“XX软件”,可以看看QQ在安装后的开始菜单里,会先有腾讯软件->QQ2013->QQ这样的目录结构,这样的结构使得一个公司的产品放在一起便于用户查看。所以我也采用这种结构来先整理目录结构,这个结构也是用户安装产品后的目录结构。
上面APP_1和APP_2是独立的应用分开放,外面的数据库配置是公用部分放最外面。当然,“XX产品”里面的目录需要根据你实际情况来决定。不过,在你制作安装包前,一直要试一下各个exe程序能不能正常运行,否则做好后运行不了,找不到原因就麻烦了,毕竟快捷方式只是个链接。
这里说明一下为什么会有这个DataBaseSetting.exe呢,因为我们的产品可能需要新建数据库、需要修改注册表等操作,但是用InstallShield来做这些,对于不熟悉的人来说还是很麻烦的,
或许就不能做,所以还是用C#写了个小程序来做这些工作要简单的多,只是要多点下按钮,但更灵活。
二、新建一个“InstallScript MSI Project”工程
三、在引导条上配置基本属性 Project Assistant是类似于界面操作
【Project Assistant】->【Application Information】,输入公司名,产品名,版本号,网址。再修改卸载图标,这个图标是将在【控制面板】的【添加或删除程序】看到。
【Project Assistan】->【Installation Requirements】,这里你可以指定运行的系统和先决条件,我试过限制系统,应用没试过,一般这里可以都不修改。
四、设置安装的组件Component
打开【Installation Designer】->【Component】面板,先删掉默认的DefaultComponet,下面开始逐个添加Component。
右击【Component】新增【New Component】,命名为APP_1,与上面文件夹名对应,这里是不可以用中文的。
这里先指定APP_1的安装路径,点击APP_1,选择右侧【Destination】,会弹出【Browse for Directory】,这里可以看到【ProgramFilesFolder】就是指C盘下的Program File。现在的目录比较乱,先删除掉【My Company Name】和【My ProductName】,然后再在【XX产品】下新建【APP_1】,这个路径就是APP_1中的文件将要安装到的路径了。
注意,这里你点击【XX产品】,会看到INSTALLDIR,但不能修改,你可以点击【Installation Designer】->【Installation Information】->【General Information】,查看到INSTALLDIR,也是可修改的。你可能还会看到变量TARGETDIR,这个是安装过程中让用户选择的安装路径。而在InstallScript MSI和Basic MSI工程中,安装路径变量是INSTALLDIR。
然后选择Files,在右侧面板中点击【Add】,添加文件,可以选择也可以直接拖进来。
同样,新增【APP_2】组件,与上面一样也要指定Destination。
然后添加文件,这里我故意多加了个Folder的文件夹,上面的单目录结构,直接拖进去就可以了,但是多目录结构是不行的,需要右击选择【Dynamic File Linking】,然后打开【Modify Dynamic Links】面板,再点击【New Link】,打开【Dynamic File Link Settings】面板,然后点击【Browse】,选择App_2的文件夹,再确定就添加成功了。