WIX: Изменить каталог установки из параметра класса C#?
Я создаю мастер установки, и у меня есть страница, где вы можете выбрать, где вы хотите установить программу. В моем классе C# у меня есть InstallPath, который хранит точный каталог, в котором я хочу установить программу.
По умолчанию это c:\Program Files.
В моем установочном файле WiX у меня есть это:
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id ="Folder" Name="SomeFolder"/>
</Directory>
</Directory>
Моя проблема в том, что я не знаю, как сказать эту установку Wix для установки в InstallPath. Например, если InstallPath изменен на D:\SomeFolder\ Здесь я хочу установить его снова не в Program Files.
2 ответа
Вы можете использовать одно из следующих пользовательских действий для изменения значения свойства во время установки:
- настраиваемое действие, которое изменяет значение свойства каталога, запланированное до CostFinalize
- настраиваемое действие типа 35, которое изменяет путь к каталогу (должно быть запланировано после CostFinalize)
Например:
<CustomAction Id="ChangeDir" Directory="INSTALLFOLDER" Value="[SomeValueorPropertyhere]"/>
2. Запланируйте действие на этапе InstallExecution (должно быть после шага CostFinalize):
<Custom Action="ChangeDir" After="CostFinalize"></Custom>
Изменить путь это:
<Product Id="*">
<Property Id="ROOTDRIVE">
<![CDATA[D:\]]>
</Property>
</Product>
и для нового пути D:\SomeFolder\ Здесь будет что-то вроде этого.
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="SomeFolder" Name="SomeFolder">
<Directory Id="INSTALLFOLDER" Name="Here"/>
</Directory>
</Directory>
Привет,