我在InstallShield中创建了一个基本的MSI项目。我想实现一个场景。为此,我在安装时使用installScript函数MsiSetProperty()
设置一个属性。但是我也希望在卸载时读取相同属性的值。我需要卸载时的属性值,这是在安装时设置的。
那么有没有办法在卸载时检索属性值,这是在安装时设置的?
答案 0 :(得分:0)
在卸载时读取属性与在安装期间读取属性相同:您调用MsiGetProperty()
,如果它在延迟上下文中,则必须通过CustomActionData
属性传递它。还要注意,在延迟上下文中设置属性并没有太大作用。
然而,可能绊倒的是,Windows Installer会话中通常不会保留属性。有一些例外,例如已安装组件的DirProperties,会自动保留。但是当前行动结束时,大多数财产都被遗忘了。典型的建议是遵循“记住属性模式”,简而言之,它包括将属性的值保存到注册表项,并通过系统搜索将其读回。
答案 1 :(得分:0)
我刚试过一个解决方法。我在安装时设置了注册表值&在卸载时读取该属性并将其值设置为属性。