2017-05-03 3 views
0

J'essaie de créer un installateur perMachine capable de créer des fichiers et des dossiers dans PersonalFolder et LocalAppDataFolder de chaque utilisateur. Je reçois toujours le message d'avertissement "avertissement LGHT1076: ICE91: ..." comme indiqué ci-dessous. Lorsque j'installe en tant qu'administrateur, le fichier et le dossier sont créés malgré l'avertissement, mais lorsque j'essaie le programme d'installation en tant qu'utilisateur standard, aucun fichier et aucun dossier n'est créé sur le profil utilisateur. Quelle pourrait être la solution?ICE91 Wix dans l'installateur perMachine


<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> 

- Construire commencé: Projet: SetupProjectPerUsrMachine, Configuration: Debug x86 -

avertissement LGHT1076: ICE91: Le fichier « Bloc-notes. MyExe 'sera installé dans le répertoire par utilisateur' InstallDirPersonal 'qui ne varie pas en fonction de A Valeur de LLUSERS. Ce fichier ne sera pas copié dans le profil de chaque utilisateur même si une installation par machine est souhaitée.

avertissement LGHT1076: ICE91: Le fichier 'Notepad.MyExe1' sera installé dans le répertoire par utilisateur 'InstallDirAppDataPersonal' qui ne varie pas en fonction de la valeur ALLUSERS. Ce fichier ne sera pas copié dans le profil de chaque utilisateur même si une installation par machine est souhaitée.

Répondre

0

Problème résolu! http://www.installworld.com/index.php?option=com_content&do_pdf=1&id=146

« Si la ressource doit être copié dans le profil de chaque utilisateur, puis ajouter des fonctionnalités à votre package pour le faire. Pour cela, ajoutez une clé de Registre de l'utilisateur actuel (c.-à-juste une clé de registre fictif) et en faire clé de registre le chemin clé du composant qui contient la ressource, ce qui signifie que la ressource sera copiée dans le profil de l'utilisateur suivant dans le cadre du mécanisme d'auto-guérison MSI, à condition que des points d'entrée annoncés existent pour le produit.

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>