Получение сердцебиения : обо всем по порядку, чтобы его скомпилировать и убедиться, что других проблем нет:
Абсолютный путь : попробуйте указать полный путь к файлу, который, как вы знаете, существует в целевом местоположении:
<File Source="D:\My Files\MyBinary.exe" />
Производитель : Далее установите значение "Manufacturer" attribute
на что-то другое. Все будет так долго, пока там что-то есть. Укажите название вашей компании - очевидно.
=> Попробуйте скомпилировать. Это должно быть успешно.
Отсутствует определение : ОК, с сердцебиением, давайте попробуем решить проблему. Откуда вы получаете эту конструкцию препроцессора:
<File Source="$(var.WixInstall.TargetPath)" />
Это из какого-то образца или чего-то еще? Я полагаю, "WixInstall"
относится к самому проекту WiX внутри решения Visual Studio? Как правило, вы можете ссылаться на проекты внутри вашего решения, например, по названию, но обычно вы ссылаетесь на другой проект, такой как «MyBinaryProject», и вы ссылаетесь на вывод его сборки следующим образом:
<File Source="$(var.MyBinaryProject.TargetPath)" />
Вы должны убедиться, что проект, на который вы ссылаетесь, действительно находится в решении Visual Studio. И вам нужно добавить ссылку на него:
- Щелкните правой кнопкой мыши
"References"
в вашем проекте WiX => Add Reference...
- Под
"Projects"
выберите проект, к которому вы хотите обратиться, нажмите Add
и OK
.
Документация WiX : Использование ссылок и переменных проекта - см. Запись документации WiX для получения подробной информации о встроенных переменных, доступных при обращении к другим Проекты Visual Studio.
Обычная переменная препроцессора : Помимо встроенной переменной препроцессора, которую вы получаете при добавлении ссылки на другой проект Visual Studio, вы также можете определить свои собственные переменные:
<?define MyTest= "D:\My Files\MyBinary.exe" ?>
<...>
<File Source="$(var.MyTest)" />
Ссылки