20180531
不知不觉五月的最后一天。一年多了啊。。
说正事:如何在InstallShield生成的安装包中增加Redistributable Package?我使用的是InstallShield 2015,是的,现在是2018年。所以本地库中自然不包含2015年以后才推出的Package。
需求
- 在安装包中加入Redistributable Package;
描述
为什么会有这么奇怪的需求?其实不奇怪,许多程序在运行过程中需要VC++包的支持,如果你的程序也是在这些包之上跑的,缺失了程序跑不起来,所以作为安装包,我们必须自洽,尽可能地把用户机器环境都考虑到,在自己的安装包中配置了,也就不怕演示的时候报错了。
实现
参考:
InstallShield自带帮助文档中
Redistributables View
Downloading Redistributables to Your Computer
Including Redistributables in Your Installation
这些文章可以看,得出结论:*.prq
文件很关键,Designer->Redistributables中包含的这些包都是由这些文件配置的。顺藤摸瓜找到*.prq
文件,找到了C:\Program Files (x86)\InstallShield\2015\SetupPrerequisites
路径下的文件,对照截图的位置,果然是这里没错了。
- 接下来的问题就是找
*.prq
文件,我需要的Redistributable是Microsoft Visual C++ 2017Runtime Libraries (x86)以及Microsoft Visual C++ 2017 Runtime Libraries (x64),去网上搜了一圈没有,打开12的对应文件,发现是文本文件,如下图:
要是直接把12改成17也太敷衍了吧,谁知道会出现什么问题。。。但是看到后面有个类似网站的链接,进去,把12换成17果然下载到了文件。把文件粘到这个文件夹下重启IS,出现了17的包,右键下载即可,下载完成后勾选。右键Show Merge Modules In Repository
勾选,打安装包的时候会自动打进去,如下图所示。