我正在尝试将 NSIS 安装程序移植到 WiX。每次安装程序运行时,它都会将注册表项设置为新的 GUID 值,这样当我的应用程序运行时,它可以查看它是否在安装后首次运行。首次运行时,应用程序将另一个注册表项设置为安装程序中的 GUID 值。只要两个键匹配,我就知道安装程序没有运行。
这是 NSIS 代码:
#Write InstallGUID
Call CreateGUID
Pop $0
WriteRegStr HKLM "${REGKEY}" InstallGUID $0
和
Function CreateGUID
System::Call 'ole32::CoCreateGuid(g .s)'
FunctionEnd
我已经准备好一个相当完整的 WiX 安装程序,但我不知道如何复制这个功能。WiX 中有什么东西可以在安装时生成 GUID,还是我需要编写自定义事件?如果我可以避免编写一个小 dll,那将是最好的。