内容主要包括:语言设置、Features的含义、安装路径传参、DLL注册。版本:2021,其它版本差异自己对照。
-
语言设置
如果打包软件想做成中文界面的,我们新建工程之后的第一件时间就应该是调整Setup Languages和Default Languages为Chinese Simplified
-
安装路径传参
如果我们想在安装程序执行完成后,对安装路径里的文件进行移动修改操作,我们可以采用自定义动作调用外部exe并传参。首先点击Custom Actions and Sequences选项卡,右键点击Custom Actions,然后打开Custom Actions Wizard向导。
然后给这个Action取名,下一步
然后这一步是确定exe的启动类型和打包在安装程序的方式,首先启动类型选择Launch an executable,然后方式可以选择installed with the product也可以选择Stored in the Binary table。前者需要将你的exe放到files and folder(安装内容)里面。
然后选择exe路径,设置Taget选项,命令行"[TARGETDIR]\"传参给exe。
这一步确认exe和安装程序之间的执行方式,
第一种:同步(确认exe的退出码)注意你的exe返回是不是0,如果不是,安装程序将意外退出且回滚。
第二种:同步(忽略exe的退出码)即使你的exe返回不是0也不会中断安装程序。
第三种:异步(确认exe的退出码)exe和安装程序异步执行,但安装程序要check exe的退出码,如果退出不是0,,安装程序将意外退出且回滚。
第四种:异步(忽略exe的退出码)exe和安装程序异步执行,但安装程序要check exe的退出码。
这一步是指定exe执行的条件,这里先不多讲,后续一直下一步完成就好。
完成之后我们的autoexe就创建完成了,但如果只做到这里,安装包程序并不会调用你的exe,为什么呢?因为你还没有把他插入到Sequences里面。
接下来,展开Sequences,Installation,齿轮形状的Execute。
在Execute底下找到InstallFinalize也就是最后一个安装动作,把你定义的调用exe插入在它之前就好了。
如果希望安装程序调用exe的条件是首次安装,可以在单击刚刚插入的exe名称,在Conditions中输入NOT Installed AND NOT REINSTALL AND NOT REMOVE AND NOT MODIFY,这个条件是问的Chatgpt,它支持Installshield里面这些条件常量的问询。
-
Features的含义
Features就是特性,它的设置意外着用户在自定义安装中可以选择自己需要的部分进行安装,不需要的部分就不会安装。如果你的产品有多个可选模块,请注意feature文件划分和重命名Feature为自己的模块名称。
-
DLL注册
如果你有需要注册的dll,在files and folder选项卡里面找到它,右键之后点properties,将Self Register勾选上即可。