Vous pouvez utiliser le chemin relatif comme ceci:
<File Id="Bla.exe" Source="..\bin\Debug\Bla.exe" KeyPath="yes" Checksum="yes"/>
OU
Vous pouvez ajouter un fichier de configuration à votre projet pour définir des variables communes. Pour ce faire, ajoutez un nouveau fichier "WiX Include" à votre projet, appelez le config.wxi. Ensuite, dans votre fichier include, vous pouvez définir une variable SourceDir comme ceci:
<?xml version="1.0" encoding="utf-8"?>
<Include>
<?define SourceDir = "D:\Projects\Bla\Bla\bin\Debug" ?>
</Include>
maintenant dans votre fichier .wxs, vous pouvez ajouter une référence au fichier de configuration en haut, ex:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<?include "config.wxi"?>
Ensuite, il suffit référencer vos SourceDir variables comme ceci:
<File Id="Bla.exe" Source="$(var.SourceDir)\Bla.exe" KeyPath="yes" Checksum="yes"/>
de plus, il y en a construit en WiX project variables que vous pouvez utiliser.
Ça a l'air génial! Je vous remercie! Y a-t-il une possibilité d'utiliser des valeurs différentes pour var.Sourcedir - en fonction de l'installation du débogage ou de la libération? –
Voir le lien que j'ai ajouté. Il y a des variables de projet intégrées qui devraient aider. – BryanJ
Dans le contexte de ma [question connexe] (http://stackoverflow.com/questions/21687392/how-can-i-maintain-file-reference-integrity-from-a-wix-setup-library), j'ai essayé ceci et trouvé que le fichier d'inclusion ne fonctionnera pas pour ma situation. Toute forme de définition de variables ne rend pas la variable disponible pour le projet de dépendance. Cependant, les variables de projet auxquelles vous avez lié semblaient fonctionner à mes fins, car elles sont stables indépendamment des contextes des autres projets. Merci d'inclure ce lien. –