我们这里有点情况。我们正在使用以下代码段在安装时编写一个 ini 文件:
<Component Id="_CFG" Guid="{CADE766F-3AF0-40A6-9D35-12AC4FD5B278}" Feature="DefaultFeature" KeyPath="yes" Location="either" NeverOverwrite="yes">
<CreateFolder Directory="CFG" />
<Environment Id="SharedAppend" Name="Path" Value="[CommonFilesFolder]Company Shared\MyDir" Separator=";" Action="set" Part="last" Permanent="yes" System="yes" />
<IniFile Id="MyCFG.ini1" Action="addLine" Directory="CFG" Key="LOCAL_ROOT" Name="ata.ini" Section="ALIAS" Value="[CommonAppDataFolder]Company\MyDir" />
<IniFile Id="MyCFG.ini73" Action="addLine" Directory="CFG" Key="APPLICATIONS" Name="ata.ini" Section="GENERAL" Value="Product1;Product2;Product3;Product4;" />
<RegistryValue Id="Registry47asdf" Root="HKLM" Key="SOFTWARE\Company\MyProd" Name="LocalRoot" Value="[CommonAppDataFolder]Company\MyDir\" Type="string" />
</Component>
此安装由管理员用户执行。现在第二个用户(标准)通过一些应用程序修改这个文件。之后,当第三个用户登录并启动应用程序时,会出现 Windows 安装程序进度对话框,这会将文件恢复到原始文件。
我想,“NeverOverwrite”会阻止这种情况,但它没有奏效。
我假设“NeverOverwrite”属性可能不适用于元素。
任何人都知道如何防止此文件通过 Windows 安装程序服务恢复?
多谢了。。