ここにはちょっとした状況があります。次のコード セグメントを使用して、インストール時に 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>
このインストールは、管理者ユーザーによって実行されます。次に、2 番目のユーザー (標準) がアプリケーションを介してこのファイルを変更します。その後、3 番目のユーザーがログインしてアプリケーションを起動すると、Windows インストーラーの進行状況ダイアログが表示され、ファイルが元のファイルに復元されます。
「NeverOverwrite」でこれを防げると思ったのですが、うまくいきませんでした。
「NeverOverwrite」属性は適用されない可能性があると想定していますエレメント。
このファイルが Windows インストーラー サービスによって復元されないようにする方法を知っている人はいますか?
本当にありがとう..