如何在卸载时读取属性值?

时间:2016-04-13 11:15:12

标签: installshield installscript

我在InstallShield中创建了一个基本的MSI项目。我想实现一个场景。为此,我在安装时使用installScript函数MsiSetProperty()设置一个属性。但是我也希望在卸载时读取相同属性的值。我需要卸载时的属性值,这是在安装时设置的。

那么有没有办法在卸载时检索属性值,这是在安装时设置的?

2 个答案:

答案 0 :(得分:0)

在卸载时读取属性与在安装期间读取属性相同:您调用MsiGetProperty(),如果它在延迟上下文中,则必须通过CustomActionData属性传递它。还要注意,在延迟上下文中设置属性并没有太大作用。

然而,可能绊倒的是,Windows Installer会话中通常不会保留属性。有一些例外,例如已安装组件的DirProperties,会自动保留。但是当前行动结束时,大多数财产都被遗忘了。典型的建议是遵循“记住属性模式”,简而言之,它包括将属性的值保存到注册表项,并通过系统搜索将其读回。

答案 1 :(得分:0)

我刚试过一个解决方法。我在安装时设置了注册表值&在卸载时读取该属性并将其值设置为属性。