禁止多次安装实例
为了防止用户重复安装软件,我们可以加入以下的判断来进行限制。
第一步:在安装脚本中,将是否已安装的标记Installed写入注册表中:
1 2 3 | Section -Post WriteRegDword HKLM "${PRODUCT_DIR_REGKEY}" "Installed" 1 SectionEnd |
第二步:在.onInit 读取安装程序在安装过程中写入的注册表键值:
1 2 3 4 5 6 7 8 9 | Function .onInit ;禁止多次安装实例 start ReadRegDWORD $0 HKLM '${PRODUCT_DIR_REGKEY}' "Installed" IntCmp $0 +1 +4 MessageBox MB_OK|MB_USERICON '$(^Name) 已安装在计算机中。如需重新安装,请卸载已有的安装。' Quit nop ;禁止多次安装实例 end FunctionEnd |