1
這裏有一些小問題。我們使用下面的代碼段在安裝時寫的ini文件:Wix:防止Windows安裝程序服務恢復文件
<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安裝程序服務恢復?
多謝..
Wim,感謝您的詳細回覆。 你的觀點3是我的觀點,我嘗試在我的代碼中進行更正。實際上,整個Component是KeyPath ='yes',所以我將Keypath移到了註冊表項。 我只是等待構建出來,然後將評估。 謝謝 – 2012-05-01 06:58:02