WiX RemoveFolderEx'缺少文件夹属性'

时间:2014-08-01 11:03:46

标签: wix installer windows-installer

我正在尝试使用RemoveFolderEx在卸载后删除Roaming / MyApp文件夹,不过,在使用'msiexec / i / l * v'命令并检查安装程序日志后,我遇到了这个:

  

MSI(s)(64:40)[10:30:45:254]:调用远程自定义操作。 DLL:   C:\ Windows \ Installer \ MSI860E.tmp,入口点:WixRemoveFoldersEx MSI   (s)(64:74)[10:30:45:254]:生成随机cookie。 MSI(s)(64:74)   [10:30:45:256]:使用PID 52380(0xCC9C)创建自定义操作服务器。   MSI(s)(64:8C)[10:30:45:657]:作为服务运行。 MSI(s)(64:8C)   [10:30:45:704]:您好,我是您的32位模拟自定义操作   服务器。 WixRemoveFoldersEx:错误0x80070057:缺少文件夹   属性:APPLICATIONFOLDER行:   wrf4C77709F2CC40D572056B8DB1B2D0A3E CustomAction WixRemoveFoldersEx   返回实际的错误代码1603,但将转​​换为成功到期   继续标记行动结束10:30:45:WixRemoveFoldersEx。返回   价值1。

我似乎无法让它发挥作用。我按照本指南实施了它:http://www.hass.de/content/wix-how-use-removefolderex-your-xml-scripts

这是我的Wix代码:

<Property Id="APPLICATIONFOLDER">
    <RegistrySearch Key="Software\Wah\MyApp" Root="HKCU" Type="raw" 
                    Id="REGSEARCH" Name="Path" />
</Property>

<Directory Id="TARGETDIR" Name="SourceDir">
   <Directory Id="AppDataFolder">
      <Directory Id="PrivateData" Name="MyApp">
         <Component Id="RemovePrivateData" Guid="*">
            <RegistryValue Root="HKCU" Key="Software\Wah\MyApp" 
                           Name="Path" Type="string" 
                           Value="[AppDataFolder]" KeyPath="yes"/>
            <util:RemoveFolderEx On="uninstall" 
                                 Property="APPLICATIONFOLDER"/>
            <RemoveFolder Id="AppDataFolder" On="uninstall"/>
         </Component>
      </Directory>        
   </Directory>
</Directory>

在查看Regedit之后,该值确实设置为正确的路径。

任何帮助都会非常感激,因为我几乎看过RemoveFolderEx的所有问题并且没有特别的帮助。

编辑:我已经通过向我的APPLICATIONFOLDER属性添加'Secure =“yes”'属性来修复此问题,如下所示:

<Property Id="APPLICATIONFOLDER" Secure="yes">
    <RegistrySearch Key="Software\Wah\MyApp" Root="HKCU" Type="raw" 
                    Id="REGSEARCH" Name="Path" />
</Property>

0 个答案:

没有答案