无法打开密钥:HKEY_CURRENT_USER \\\\ Software \\\\ Classes \\\\ MyAppAssembly

| 我使用WIX 3.5为我的应用程序创建了安装程序。安装程序可以在第一次正常运行。但是在卸载应用程序然后在同一台机器上再次重新安装后,我得到以下错误消息: \“无法选择密钥:HKEY_CURRENT_USER \\ Software \\ Classes \\ XMyapp ... \\ myapp。请确认您对该密钥具有足够的访问权限,或与支持人员联系。” 在安装过程中,我的msi应该安装此程序集。卸载后,我看到这些注册表项被删除了……这与第一次安装时应该是一样的。 我很困惑,为什么安装程序会尝试打开此注册表项? 我使用Windows 7和Windows Server 2008的WIX 3.5创建了两个安装程序,但从未发现此问题。这仅适用于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>
谢谢!     
已邀请:
        您可能有一个按用户的程序包(Package / @ InstallScope = \“ perUser \”而不是Package / @ InstallScope = \“ perMachine \”)。安装时,ѭ1元素将写入HKCU CLSID注册位置。我怀疑这是导致问题的上述确切片段,但您的软件包中有其他一些注册。     

要回复问题请先登录注册