2017-05-03 3 views
0

Ich versuche, einen PerMachine-Installer zu erstellen, der Dateien und Ordner im PersonalFolder und LocalAppDataFolder jedes Benutzers erstellen kann. Ich bekomme immer die Warnmeldung "warning LGHT1076: ICE91: ..." wie unten aufgeführt. Wenn ich als Administrator installiere, wird die Datei und der Ordner trotz der Warnung erstellt, aber wenn ich das Installationsprogramm als Standardbenutzer ausprobiere, wird im Benutzerprofil keine Datei und kein Ordner erstellt. Was könnte die Lösung sein?ICE91 Wix in perMachine Installer


<Directory Id="TARGETDIR" Name="SourceDir"> 
     <Directory Id="ProgramFilesFolder"> 
      <Directory Id="PFInstallDir" Name="Example"> 
       <Component Id="ApplicationFiles" Guid="12345678-1234-1234-1234-222222222222"> 
        <File Id="ApplicationFile1" Source="notepad.exe"/> 
       </Component> 
      </Directory> 
     </Directory> 

     <Directory Id="CommonFilesFolder"> 
      <Directory Id="CFInstallDir" Name="Example"> 
       <Component Id="CommonApplicationFiles" Guid="12345678-1234-1234-1234-222222222223"> 
        <File Id="ApplicationFile2" Source="notepad.exe"/> 
       </Component> 
      </Directory> 
     </Directory> 

     <Directory Id="CommonAppDataFolder"> 
      <Directory Id="CAInstallDir" Name="Example"> 
       <Component Id="CommonAppDataApplicationFiles" Guid="12345678-1234-1234-1234-222222222224"> 
        <File Id="ApplicationFile3" Source="notepad.exe"/> 
       </Component> 
      </Directory> 
     </Directory> 

     <Directory Id="PersonalFolder"> 
      <Directory Id="InstallDirPersonal" Name="ExampleDocs"> 
       <Component Id="ApplicationPersonalFiles" Guid="12345678-1234-1234-1234-222222222225"> 
        <CreateFolder /> 
        <RemoveFolder Id="RemoveMyExampleDir1" On="uninstall" Directory="InstallDirPersonal"/> 
        <RegistryKey Root="HKCU" Key="Software\MyCompany\Documents"> 
         <RegistryValue Name="MainExe" Value="1" KeyPath="yes" Type="integer" /> 
        </RegistryKey> 
        <File Id="Notepad.MyExe" 
         Source="notepad.exe" DiskId="1" Checksum="yes"> 
        </File> 
       </Component> 
      </Directory> 
     </Directory>    

     <Directory Id="LocalAppDataFolder" Name="AppData"> 
      <Directory Id="InstallDirAppDataPersonal" Name="ExampleLocals"> 
       <Component Id="ApplicationPersonalDataFiles" Guid="12345678-1234-1234-1234-222222222226"> 
        <CreateFolder /> 
        <RemoveFolder Id="RemoveMyExampleDir" On="uninstall" Directory="InstallDirAppDataPersonal"/> 
        <RegistryKey Root="HKCU" Key="Software\MyCompany\Example"> 
         <RegistryValue Name="MainExe" Value="1" KeyPath="yes" Type="integer" /> 
        </RegistryKey> 
        <File Id="Notepad.MyExe1" 
         Source="notepad.exe" DiskId="1" Checksum="yes"> 
        </File> 
       </Component> 
      </Directory> 
     </Directory> 
    </Directory> 

    <Feature Id="DefaultFeature" Level="1"> 
     <ComponentRef Id="ApplicationFiles"/> 
     <ComponentRef Id="CommonApplicationFiles"/> 
     <ComponentRef Id="CommonAppDataApplicationFiles"/> 
     <ComponentRef Id="ApplicationPersonalDataFiles"/> 
     <ComponentRef Id="ApplicationPersonalFiles"/> 
    </Feature> 

</Product> 

- angefangen beim Aufbau: Projekt: SetupProjectPerUsrMachine, Konfiguration: Debug x86 -

Warnung LGHT1076: ICE91: Die Datei Notepad‘. MyExe 'wird in dem Benutzerverzeichnis' InstallDirPersonal 'installiert, das nicht basierend auf A variiert LUSERS Wert. Diese Datei wird nicht in das Profil jedes Benutzers kopiert, auch wenn eine Installation pro Computer gewünscht wird.

Warnung LGHT1076: ICE91: Die Datei 'Notepad.MyExe1' wird im Verzeichnis 'InstallDirAppDataPersonal' pro Benutzer installiert, das nicht auf Basis des ALLUSERS-Werts variiert. Diese Datei wird nicht in das Profil jedes Benutzers kopiert, auch wenn eine Installation pro Computer gewünscht wird.

Antwort

0

Problem gelöst! http://www.installworld.com/index.php?option=com_content&do_pdf=1&id=146

„Wenn die Ressource zu jedem Benutzerprofil kopiert werden muß, dann Funktionalität zu Ihrem Paket hinzufügen, dies zu tun. Um dies zu erreichen, fügen Sie einen aktuellen Benutzer-Registrierungsschlüssel (dh nur ein Dummy-Registrierungsschlüssel), und diese machen Registrierungsschlüssel der Schlüsselpfad der Komponente, die die Ressource enthält. Dies bedeutet, dass die Ressource als Teil des MSI-Selbstheilungsmechanismus in das Profil des nächsten Benutzers kopiert wird, vorausgesetzt, dass für das Produkt beworbene Einstiegspunkte vorhanden sind. "

http://blog.bittercoder.com/2007/02/28/wix-shortcuts/

<Component Id="StandAloneApplication" Guid="C8D5DB05-2D68-40e8-88D1-EF5BEA18DBE1"> 
    <File Id="SomeCompanySomeProductHostApp" 
     Name="SomeCompany.SomeProduct.HostApp.exe" 
     DiskId="1" 
     Source="....buildSomeCompany.SomeProduct.HostApp.exe" 
     Vital="yes"> 

    <Shortcut Advertise="yes" 
       Id="SomeCompanySomeProductHostAppShortcut" 
       Directory="ProgramMenuDir" 
       Name="My Product" 
       WorkingDirectory="INSTALLDIR" 
       Description="SomeProduct Application" 
       Icon="HostAppShortcutIcon.exe"> 

     <Icon Id="HostAppShortcutIcon.exe" 
      SourceFile="....buildSomeCompany.SomeProduct.HostApp.exe" /> 

    </Shortcut> 
    </File> 
</Component> 
Verwandte Themen