<Custom Action="SetARPINSTALLLOCATION" After="InstallValidate">NOT (REMOVE="ALL" or REMOVE="ProgramFiles")</Custom>
我在InstallSequence中调用了这个自定义操作,该操作必须从注册表中升级INSTALLDIR,并且还会在全新安装中调用此自定义操作。
在大多数情况下,对于全新安装,此操作会从本地计算机返回一个位置,并且安装程序可以正常运行,但在客户计算机上,返回的值为\ SomeDir \并且安装程序将失效。
我如何使用此自定义操作才能正常工作?
答案 0 :(得分:0)
经过一些分析后,我发现函数工作正常,但系统包含无效的注册表项,对于该值,SetARPINSTALLLOCATION的结果是错误的值。
注册表中的错误值是由于直接在卸载注册表项上存在记录InstallLocation而生成的,没有像父项一样的guid。
感谢。