Как изменить каталог в файле wxs, куда будут установлены все dll и другие файлы? - PullRequest
0 голосов
/ 21 ноября 2018

Я новичок в создании проекта установки с использованием файла .wxs в проекте .NET.Я знал, что по умолчанию, когда вы запускаете MSI-файл, он создает папку с этим проектом и его справочные файлы (dll, exe и т. Д.) В C:\Program Files (x86).У меня вопрос, могу ли я изменить это местоположение в моем .wxs файле на другое, используя XML.

1 Ответ

0 голосов
/ 21 ноября 2018

ConfigurableDirectory : Вы можете использовать атрибут ConfigurableDirectory элемента Элемент функции , чтобы установитьнастраиваемый каталог функций.См. Внизу страницы в разделе снимков экрана: Как назначить значение пути для каталога в WIX? .

Только макет :

Примечание : Я основываюсь на стандартном наборе диалогов WiX Mondo . Чтобы подключить диалоги Mondo, посмотрите этот ответ .По сути, добавьте ссылку на WixUIExtension.dll и вставьте элемент <UIRef Id="WixUI_Mondo" />.Это скомпилирует диалоговое окно WiX по умолчанию, установленное в ваш MSI.

<Feature Id="MyFeature" Title="MyFeature" Level="1" ConfigurableDirectory="INSTALLFOLDER"></Feature>

<..>

<Directory Id="TARGETDIR" Name="SourceDir">
  <Directory Id="ProgramFilesFolder">
    <Directory Id="INSTALLFOLDER" Name="InstallDirConfigurableTesting">

Помните свойство : обратите внимание, что вы должны сохранить свое местоположение каталога самостоятельно в реестре иПрочтите об основных обновлениях, иначе ваш продукт будет «перемещен» во время обновлений (я знаю, это странно).Это упорство не происходит автоматически каким-либо образом, о котором я знаю.Вы можете сохранить свойство и прочитать его обратно, используя «Помни шаблон», как описано создателем WiX и благотворительностью Робом Меншингом здесь: Шаблон «Помнить свойство» набора инструментов WiX .

Совет по реализации : Проверка возврата свойства каталога для основных сценариев обновления может быть немного сложной.Если вы создаете тестовый проект в Visual Studio с помощью Votive, вы можете использовать эту хитрость, чтобы просто скомпилировать версию 1 вашего MSI (теперь добавьте суффикс MSI-файла в выходную папку сборки с _Version1.0.0.msi или подобным), изатем поднимите одну из первых трех цифр свойства номера версии и создайте версию обновления (суффикс с _Version2.0.0.msi или подобным).Затем вы устанавливаете последовательность, выбирая пользовательский каталог установки, и проверяете, правильно ли ваша вторая установка обнаруживает измененный путь.Просто используйте макет или тестовый проект с одним компонентом, чтобы это заработало, иначе вы можете свести себя с ума, если вам придется скомпилировать всю вашу установку.Затем просто введите готовую разметку в основной проект.Очевидно, да - просто упоминание.


Некоторые дополнительные ссылки :

...