【发布时间】:2011-03-23 21:10:28
【问题描述】:
我使用 WIX 3.5 为我的应用程序创建了设置。安装程序第一次工作正常。但是在卸载应用程序然后在同一台机器上重新安装后,我收到以下错误消息:
“无法打开密钥:HKEY_CURRENT_USER\Software\Classes\XMyapp...\myapp。验证您是否有足够的权限访问该密钥或联系您的支持人员。”
在安装过程中,我的 msi 应该安装这个程序集。卸载后,我看到这些注册表项已被删除......这与第一次安装时应该是相同的。
我很困惑为什么安装程序试图打开这个注册表项?
我使用 WIX 3.5 为 Windows 7 和 Windows Server 2008 创建了另外 2 个安装程序,但从未发现此问题。这仅适用于 Windows XP SP3 框。
请提出任何解决此问题的方法。
以下是 Heat.exe 生成的 .wxs 文件中的部分代码。我收到以下 TimeLimitPlugin 类的错误
<Directory Id="dirE6F61FBBE33D607D42934C479509E1A7" Name="bin">
<Component Id="cmp8862A7C3908D1BE33925BE0E72222A47" Guid="{EC21FA8F-ADAE-4608-8CB0-49B9EE7F5A37}">
<File Id="fil143DAAA17C8B9650C00B50AB55BE85D3" KeyPath="yes" Source="..\OneApp31_deploy\Debug\bin\AjaxControlToolkit.dll" />
</Component>
<Component Id="cmp120CF12CD801404A02CE3906AD63E471" Guid="{46428AEB-4AD5-4230-A0DD-284C35682C0C}">
<Class Id="{0155BEAB-D46E-3EC9-9535-263A90812041}" Context="InprocServer32" Description="TimeLimitPlugin" ThreadingModel="both" ForeignServer="mscoree.dll">
<ProgId Id="TimeLimitPlugin" Description="TimeLimitPlugin" />
</Class>
谢谢!
【问题讨论】:
-
什么版本的 WiX?卸载后是否提示您重新启动计算机?在尝试重新安装之前,您是否尝试过重启机器?
标签: windows-xp wix registry wix3.5