SetARPINSTALLLOCATION错误的值

时间:2011-11-25 13:35:07

标签: wix wix3.5

<Custom Action="SetARPINSTALLLOCATION" After="InstallValidate">NOT (REMOVE="ALL" or REMOVE="ProgramFiles")</Custom>

我在InstallSequence中调用了这个自定义操作,该操作必须从注册表中升级INSTALLDIR,并且还会在全新安装中调用此自定义操作。

在大多数情况下,对于全新安装,此操作会从本地计算机返回一个位置,并且安装程序可以正常运行,但在客户计算机上,返回的值为\ SomeDir \并且安装程序将失效。

我如何使用此自定义操作才能正常工作?

1 个答案:

答案 0 :(得分:0)

经过一些分析后,我发现函数工作正常,但系统包含无效的注册表项,对于该值,SetARPINSTALLLOCATION的结果是错误的值。

注册表中的错误值是由于直接在卸载注册表项上存在记录InstallLocation而生成的,没有像父项一样的guid。

感谢。