Ich erstelle eine MSI-Setup-Datei mit dem WiX Toolset v3.10.2. Ich benutze InstallScope = 'perMachine', damit das Programm in den Ordner Programme Ordner installiert wird.Ordnungsgemäße Methode zum Installieren und Deinstallieren einer Datei im Anwendungsdatenordner in einem perMachine WiX-Installationsprojekt
Ich muss jedoch eine (Einstellungen) Datei in den Ordner Application Data Roaming des aktuellen Benutzers installieren.
<Directory Id="AppDataFolder">
<Directory Id="ManufacturerAppDataFolder" Name="Manufacturer">
<Directory Id="ProductAppDataFolder" Name="ProductName">
<Component Id="AppDataConfig" Guid="643DB270-8D85-467B-A6BA-9A54924655E0" Feature="MainApplication">
<RemoveFolder Id='RemoveProductAppDataFolder' Directory='ProductAppDataFolder' On='uninstall' />
<RemoveFolder Id='RemoveManufacturerAppDataFolder' Directory='ManufacturerAppDataFolder' On='uninstall' />
<RegistryValue Root='HKCU' Key='Software\[Manufacturer]\[ProductName]' Type='string' Name="UserConfigLocation" Value='[ProductAppDataFolder]' KeyPath='yes' />
<File Source="Files\user.settings" />
</Component>
</Directory>
</Directory>
</Directory>
Ich bekomme diese Warnung, wenn ich renne light.exe:
warning LGHT1076 : ICE91: The file 'user.settings' will be installed
to the per user directory 'ProductAppDataFolder' that doesn't vary based
on ALLUSERS value. This file won't be copied to each user's profile even
if a per machine installation is desired.
ich die MSI auf dem Administrator-Benutzer zu installieren ("FirstUser") von einem Windows 10 PC und die Einstellungsdatei korrekt auf
c: \ Users FirstUser \ AppData \ Roaming \ Hersteller \ Product \ USER.settings
Wenn ich lo \ Gin zu einem anderen Benutzerkonto ("SecondUser"), eine neue Einstellungsdatei erscheint
c: \ Users SecondUser \ AppData \ Roaming \ Hersteller \ Product \ USER.settings
jedoch \, nachdem ich die Deinstallation laufen Wenn Sie im Administratorkonto angemeldet sind ("FirstUser"), wird die Einstellungsdatei nur aus dem AppData-Ordner des FirstUser gelöscht. Die Einstellungsdatei im Ordner AppData des zweiten Benutzers wird nicht gelöscht, sie verbleibt auf dem Datenträger.
Was ist der richtige Weg, um eine Datei im Ordner "Anwendungsdaten" zu installieren, so dass sie für jeden Benutzer erstellt und auch für jeden Benutzer bei der Deinstallation entfernt wird?
"Installieren Sie eine Datei im Ordner" Anwendungsdaten ", damit sie für jeden Benutzer erstellt wird": Lassen Sie die Anwendung sie erstellen. Es wird nicht installiert. Es wird nicht deinstalliert. Siehe Blog @PhilDW [referenziert] (http://stackoverflow.com/a/37261360/2226988). –