删除文件 ICE64 写入 localAppData

Posted

技术标签:

【中文标题】删除文件 ICE64 写入 localAppData【英文标题】:remove file ICE64 writing to localAppData 【发布时间】:2014-07-06 10:57:14 【问题描述】:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
  <Product Id="*" Name="AppInstaller" Language="1033" Version="0.0.0.1"
           Manufacturer="my Corporation" UpgradeCode="PUT-GUID-HERE">
   <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />

    <MajorUpgrade DowngradeErrorMessage="Newer version already installed." />
    <MediaTemplate EmbedCab="yes" />

    <!--icon for Add/Remove Programs-->
    <Icon Id="app.ico" SourceFile="..\Import\app.ico" />
    <Property Id="ARPPRODUCTICON" Value="app.ico" />


    <Feature Id="ProductFeature" Title="AppInstaller" Level="1" 
             Description="The complete installation" Display="expand" 
             ConfigurableDirectory="INSTALLFOLDER">
      <ComponentRef Id="ProgramMenuDir" />
      <ComponentGroupRef Id="ExportReleaseComponentGroup" />
      <ComponentRef Id="SimulatorConfig" />
    </Feature>

    <UIRef Id="WixUI_Mondo" />
    <UIRef Id="WixUI_ErrorProgressText" />
    <WixVariable Id="WixUIInfoIco" Value="..\Import\app.ico" />
    <WixVariable Id="WixUIExclamationIco" Value="..\Import\app.ico" />
  </Product>

  <Fragment>
    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="ProgramFiles64Folder">
        <Directory Id="IntelDir" Name="Intel">
          <Directory Id="INSTALLFOLDER" Name="app v0.0.0.1">
            <Directory Id="BIN" Name="bin"/>
          </Directory>
        </Directory>
      </Directory>
      <Directory Id="ProgramMenuFolder" Name="Programs">
       <Directory Id="ProgramMenuDir" Name="app v0.0.0.1">
         <Component Id="ProgramMenuDir" Guid="*">
          <RemoveFolder Id="ProgramMenuDir" On="uninstall" />
          <RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]"
                         Type="string" Value="app" KeyPath="yes" />
         </Component>
       </Directory>
      </Directory>
      <Directory Id="DesktopFolder" Name="Desktop" />
      <Directory Id="LocalAppDataFolder">
        <Directory Id="app" Name="appV">
        </Directory>
      </Directory>

    </Directory>
  </Fragment>

  <Fragment>
    <DirectoryRef Id="INSTALLFOLDER">
      <Directory Id="bin" Name="bin">
        <Directory Id="Release" Name="Release" />
      </Directory>
    </DirectoryRef>
  </Fragment>

  <Fragment>
   <DirectoryRef Id="app">
     <Directory Id="SimulatorConfig" Name="Config">
       <Component Id="SimulatorConfig" Guid="*">
        <RemoveFolder Id="SimulatorConfig" On="uninstall" />
        <RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]"
                       Type="string" Value="Simulator" KeyPath="yes" />
        <File Source="Gili.txt"/>
       </Component>
     </Directory>
    </DirectoryRef>
  </Fragment>
</Wix>

这是问题和错误 错误 93 ICE64:目录应用程序在用户配置文件中,但未在 删除文件表。 C:\Tools\Tools\appv\Main\appInstaller\Product.wxs 45 1 appInstaller

我阅读了一些答案,我知道问题出在注册表项或删除文件夹选项中,您能帮忙吗?

我正在开发 wix 3.8

【问题讨论】:

【参考方案1】:

相信你会在这里找到答案:wix The directory is in the user profile but is not listed in the RemoveFile table

另一方面,我对用户配置文件的首选方法是让您的应用程序创建它们或从应用程序的 %ProgramFiles% 文件夹中的只读副本复制它们。这是一个讨论:http://forum.installsite.net/index.php?showtopic=21552。

这里推荐阅读关于使用自我修复部署用户配置文件的问题。随着每个版本的 Windows 都增加了新的障碍,每年都依赖它是一个更糟糕的主意:http://forum.installsite.net/index.php?showtopic=21586

【讨论】:

所以你的意思是我只需要将 添加到层次结构中的每个目录? 你能再帮忙吗?

以上是关于删除文件 ICE64 写入 localAppData的主要内容,如果未能解决你的问题,请参考以下文章

前端上传图片头像到七牛云格式变成text

将 Base64 编码的图像写入文件

ICE分布式文件管理系统——ICE环境搭建(其二)

ICE分布式文件管理系统——初识ICE(其一)

我有一个 base64 编码的 png,如何将图像写入 PHP 中的文件?

EPERM 阻止的文件写入权限 - 删除然后写入新文件。节点.js