2010-10-06 18 views
2

Je n'arrive pas à définir le répertoire de travail d'un raccourci créé dans le cadre d'un script WiX. Voici les bases:Définition d'un répertoire de travail pour un raccourci WiX

<!-- create a start menu shortcut. --> 
<Directory Id="ProgramMenuFolder"> 
    <Directory Id="ApplicationProgramsFolder" Name="My Name"> 
    <Component Id="ApplicationShortcut" Guid="822A26AF-5231-4EDA-A18D-5DF15020BD94"> 
     <Shortcut Id="ApplicationStartMenuShortcut" 
       Name="My Name" 
       Description="My Description" 
       Target="[INSTALLLOCATION]My.exe" 
       WorkingDirectory="INSTALLLOCATION" /> 
     <RemoveFolder Id="ApplicationProgramsFolder" On="uninstall"/> 
    </Component> 
    </Directory> 
</Directory> 

<!-- Install the app. --> 
<Directory Id="ProgramFilesFolder"> 
    <Directory Id="INSTALLLOCATION" Name="My Name"> 
    <Component Id="ProductComponent" Guid="4740357A-69D3-4626-A0F7-D0667C93A2CE"> 
     <File Id="My.exe" Name="My.exe" Source="My.exe" /> 
    </Component> 
    </Directory> 
</Directory> 

Ce Jives avec des exemples que j'ai vu, et le raccourci est créé, et il pointe vers la droite exe, mais le raccourci n'a pas répertoire de travail spécifié, et donc l'application n » t trouver ses ressources locales.

Répondre

6

Vous n'avez pas besoin de dire [INSTALLLOCATION] car la table ShortCut définit la colonne WkDir qui décrit "Le nom de la propriété qui a le chemin du répertoire de travail pour le raccourci."

Je recommande d'essayer ceci:

<Directory Id="ProgramMenuFolder"> 
    <Directory Id="ApplicationProgramsFolder" Name="My Name"> 
    </Directory> 
</Directory> 

<!-- Install the app. --> 
<Directory Id="ProgramFilesFolder"> 
    <Directory Id="INSTALLLOCATION" Name="My Name"> 
    <Component Id="ProductComponent" Guid="4740357A-69D3-4626-A0F7-D0667C93A2CE"> 
     <File Id="My.exe" Name="My.exe" Source="My.exe" /> 
     <Shortcut Id="ApplicationStartMenuShortcut" 
        Advertise="yes" 
        Name="My Name" 
        Description="My Description" 
        Directory="ApplicationProgramsFolder" 
        WorkingDirectory="INSTALLLOCATION"> 
      <Icon Id="My.exe" SourceFile="My.exe" /> 
     <Shortcut> 
    </Component> 
    </Directory> 
</Directory> 
+0

Cela crée le raccourci dans le répertoire des fichiers du programme, plutôt que dans le menu Démarrer - mais le raccourci possède au moins le bon répertoire de travail. –

+0

En fait, cela fonctionne à peu près - je pense que vous vouliez avoir l'élément de raccourci imbriqué dans l'élément de fichier. Merci! –

+1

En fait, je me suis trompé. Il est correct de ne pas être un enfant de fichier car, en tant que raccourci annoncé, il pointe vers le fichier de clés du composant. Voir cet exemple: http://iswix.codeplex.com/SourceControl/changeset/view/53668#841603 –

0

Je pense que vous avez besoin de crochets autour de votre INSTALLLOCATION dans l'attribut du répertoire de travail.

+0

Essayé déjà, il ne fait aucune différence. –