使用Advanced Installer提供的自定义动作来实现自动生成新的产品代码和升级代码GUID,并在重新打包新产品版本时自动添加到安装程序中。
具体步骤如下:
Dim installer Dim db Set installer = Session.Property("Installer") Set db = installer.OpenDatabase(Session.Property("MsiFile"), 1) Dim sql sql = "UPDATE Property SET Value='{' & CreateGuid() & '}' WHERE Property='ProductCode'" db.Execute sql sql = "UPDATE Property SET Value='{' & CreateGuid() & '}' WHERE Property='UpgradeCode'" db.Execute sql Set db = Nothing Set installer = Nothing
这段代码实现了自动生成新产品代码和升级代码GUID的功能,使用CreateGuid()函数生成GUID并将其写入安装文件的属性中。
在重新打包新版本时,只需要使用新的项目文件重新编译,新的安装程序将自动包含新的产品代码和升级代码GUID。
值得注意的是,如果使用Advanced Installer打包MSI文件的过程中,出现属性写入失败导致更新了GUID失败的问题,则不影响程序正确运行,因为安装程序只关注版本号和更新的文件列表而不依赖产品代码和升级代码GUID。
上一篇:AdvancedInstallerVSTO插件部署到整个计算机失败
下一篇:AdvancedInstaller在重新打包新产品版本时要求更改ProductCode和UpgradeCodeGUIDs,该如何实现?