0

安装 perUser msi 包后,我无法卸载它。

卸载时出错

选择Browse我安装的 ( ) 包时出现错误:“所选包不是此产品的有效包”。这是我的代码:

<?xml version='1.0'?><Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
   <Product Id='a871a539-5954-44b7-810d-caed5d09e4c5' Name='x' Language='1033'
            Version='1.1.0.0' Manufacturer='M' UpgradeCode='a871a539-5954-44b7-810d-caed5d09e4c5'>
      <Package Description='x'
                Comments='x'
                Manufacturer='x' InstallerVersion='200' Compressed='yes' InstallScope='perUser' />

  <Media Id='1' Cabinet='product.cab' EmbedCab='yes' />

  <Directory Id='TARGETDIR' Name='SourceDir'>
            <Directory Id='AppDataFolder' Name='AppData'>
                 <Directory Id='xFolder' Name='x' />
            </Directory>
        </Directory>


           <Component Id='xComponent' Guid='a871a539-5954-44b7-810d-caed5d09e4c5'
                Directory='xFolder'>
            <RemoveFolder Id="Removex" On="uninstall" />
            <!-- registry entry to be used as keypath -->
            <RegistryValue Root="HKCU"
                Key="Software\M\x"
                Name="component.xcomponent.installed"
                Type="integer"
                Value="1"
                KeyPath="yes"/>

              <File Id='myFile' Name='myFile.txt' DiskId='1' Source='myFile.txt' />
... files here
</Component>
<Feature Id='xFeature' Title='x feature' Level='1'>
     <ComponentRef Id='xComponent' />
  </Feature>

安装过程正常 - 没有错误。文件在正确的位置。注册表项已添加。我究竟做错了什么?

4

1 回答 1

0

是的——正如 Wim Coenen 所说——这个问题帮助我解决了问题。

但是,我没有在该问题中执行步骤,而是清理了注册表。问题是我安装了这个包多次更改 GUID 和其他参数,所以注册表很乱。我按制造商和名称搜索注册表。

清理后一切正常。

于 2012-04-11T13:38:43.073 回答