【问题标题】:Wix IniFile error on Uninstall卸载时出现 Wix IniFile 错误
【发布时间】:2014-01-20 10:47:25
【问题描述】:

我正在使用 wix IniFile 元素在安装时编辑 ini 文件。当我尝试卸载时出现错误 2343:

Начало действия 12:37:47: RemoveIniValues.
MSI (s) (7C:BC) [12:37:47:264]: Note: 1: 2343 
DEBUG: Error 2343:  Specified path is empty.

我的带ini编辑的wxs如下:

<?xml version="1.0"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
 <Fragment>
<Property Id="miktex_config_path" Hidden="yes"/>
<SetProperty Id="miktex_config_path" Value="[INSTALLLOCATION]miktex\miktex\config"     After="InstallFiles" Sequence="execute">Not Installed</SetProperty>
<DirectoryRef Id="dirC060208F28327102C690BFF33C18B6C4">
   <Component Id="miktex_config_file"   Guid="4B9400C2-7EEF-4233-881D-5DFE6F80BB5B">
    <CreateFolder />
    <IniFile Directory="miktex_config_path" Id="common_install_path" Name="miktexstartup.ini" Action="addLine" Key="CommonInstall" Value="[INSTALLLOCATION]miktex" Section="Paths"/>
    <IniFile Directory="miktex_config_path" Id="common_data_path" Name="miktexstartup.ini" Action="addLine" Key="CommonData" Value="[CommonAppDataFolder]miktex_data" Section="Paths"/>
    <Condition><![CDATA[Not Installed]]></Condition>
   </Component>
  </DirectoryRef>   
 </Fragment>
</Wix>

为什么卸载程序不考虑我的条件元素?

如何强制安装程序在卸载过程中忽略 ini 文件编辑?

【问题讨论】:

    标签: wix uninstallation ini


    【解决方案1】:

    条件是针对组件的,但是正在运行的操作是RemoveIniValue。您可以通过覆盖InstallExecuteSequence 来抑制此操作,如下所示:

    <InstallExecuteSequence>
       <RemoveIniValues Suppress="yes" />
    </InstallExecuteSequence> 
    

    【讨论】:

      【解决方案2】:

      这取决于你追求的任务。如果您需要完全阻止 INI 值删除,那么按照 David Martin 的建议,抑制 InstallExecuteSequence 中的 RemoveIniValues 是可行的方法。但是,这种抑制(无论您为此设置什么条件),都会阻止 INI 条目删除以及安装和卸载(同样,条件不起作用,甚至不要尝试仅在卸载时设置抑制条件) )。但是,如果您需要在安装期间允许删除 INI 条目/标记(IniFile 声明带有删除操作),但同时您需要防止在卸载期间删除其余的 INI 设置,那么只需标记您保留的组件您的 IniFile 声明为 Permanent="yes"。在这种情况下,卸载时不会删除您的 INI 设置,并且您在安装时删除特定 INI 设置的声明将起作用,并且完全忘记 RemoveIniValues 抑制。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-27
        • 2016-03-23
        • 2016-04-03
        • 2016-10-15
        • 2018-11-27
        • 2016-01-24
        相关资源
        最近更新 更多