重命名后无法使用MSI

问题描述 投票:0回答:0

我有一个成功安装它的产品的 MSI。 MSI 还提供了通过使用适当的命令行参数重新运行它来注册某些属性的功能。

我面临的问题是,如果您重命名用于安装程序的 MSI,然后尝试使用它来注册属性,它将失败并出现以下错误:

Action start 12:52:01: DoStuff.
MSI (s) (28:50) [12:52:01:645]: Resolving source.
MSI (s) (28:50) [12:52:01:646]: Resolving source to launched-from source.
MSI (s) (28:50) [12:52:01:646]: Setting launched-from source as last-used.
MSI (s) (28:50) [12:52:01:646]: PROPERTY CHANGE: Adding SourceDir property. Its value is 'C:\Users\user\test\'.
MSI (s) (28:50) [12:52:01:646]: PROPERTY CHANGE: Adding SOURCEDIR property. Its value is 'C:\Users\user\test\'.
MSI (s) (28:50) [12:52:01:646]: PROPERTY CHANGE: Adding SourcedirProduct property. Its value is '{47F39EB5-1D42-4A68-4657-5B7D13DBF6tR}'.
MSI (s) (28:50) [12:52:01:646]: SOURCEDIR ==> C:\Users\user\test\
MSI (s) (28:50) [12:52:01:646]: SOURCEDIR product ==> {47F39EB5-1D42-4A68-4657-5B7D13DBF6tR}
MSI (s) (28:50) [12:52:01:646]: Determining source type
MSI (s) (28:50) [12:52:01:646]: Note: 1: 2203 2: C:\Users\user\test\Installer.msi 3: -2147287038 
MSI (s) (28:50) [12:52:01:646]: Note: 1: 1316 2: C:\Users\user\test\Installer_renamed.msi
MSI (s) (28:50) [12:52:01:646]: SECREPAIR: Error determining package source type
MSI (s) (28:50) [12:52:01:646]: SECREPAIR: Cleanup the Hash Value
MSI (s) (28:50) [12:52:01:646]: SECUREREPAIR: SecureRepair Failed. Error code: 52457EE5FB8
Action ended 12:52:01: DoStuff. Return value 3.

我是 Windows 安装程序的新手,据我所知,其原因是原始安装程序的路径存储在

HKEY_CLASSES_ROOT\Installer\Products\<ID>\SourceList
键下的注册表中,并且
SECREPAIR
失败,因为注册表中提到的 MSI 不再存在.

有办法解决这个问题吗?

wix windows-installer registry
© www.soinside.com 2019 - 2024. All rights reserved.