Я пытаюсь установить два различных места установки с помощью переключателей (один пользователь устанавливает на AppData и AllUsers устанавливается в ProgramFiles)Wix установить установить переменную местоположения от радиокнопки
Моя собственность определяется следующим образом:
<Property Id="INSTALLSCOPE" Secure="yes" />
определение Моей установки каталог следующим образом:
<Directory Id='TARGETDIR' Name='SourceDir'>
<Directory Id= 'INSTALLSCOPE' Name='AppData'>
<Directory Id='MYAPP' Name='COMPANY'>
<Directory Id='INSTALLDIR' Name='MyApp'>
Моих радиокнопков являются следующим:
<Dialog Id="CustomInstallScopeDlg" Width="370" Height="270" Title="[ProductName] Install Scope"
NoMinimize="yes">
<Control Id="RadioButtonGroupID" Type="RadioButtonGroup" X="30" Y="94" Width="305" Height="100" Property="INSTALLSCOPE">
<RadioButtonGroup Property="INSTALLSCOPE">
<RadioButton Value="LocalAppDataFolder" X="0" Y="0" Width="300" Height="10" Text="SingleUser"/>
<RadioButton Value="ProgramFilesFolder" X="0" Y="20" Width="300" Height="10" Text="AllUser"/>
</RadioButtonGroup>
</Control>
...
После радио-кнопки меняются и кнопка Вперед нажата, то происходит следующее:
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes"
Text="[ButtonText_Next]">
<Publish Property="INSTALLSCOPE" Value="LocalAppDataFolder">INSTALLSCOPE = "LocalAppDataFolder"</Publish>
<Publish Property="INSTALLSCOPE" Value="ProgramFilesFolder">INSTALLSCOPE = "ProgramFilesFolder"</Publish>
</Control>
В настоящее время Что происходит, когда я бегу он пытается установить в E: AppData, вместо того, чтобы правильно AppData. Также инсталлятор отключается, и пользовательский интерфейс не отображается. Это не произойдет, если я жестко задал значение LocalAppDataFolder
вместо передачи его через переменную. Я запустил журнал процесса установки, и я вижу, что значение INSTALLSCOPE изменяется при прохождении через установщик, но пользовательский интерфейс никогда не обновляется, чтобы отразить это изменение, и ни один из путей установки не изменится. Любая помощь будет большой.
Попробуйте посмотреть в WixUI_Advanced.wxs файл (если вы не сделали еще), где реализуется шаблон пользовательского интерфейса с функцией, что вы пытаетесь осуществить. Это может вам помочь. Я думаю, что самый простой способ - просто скопировать файлы InstallScopeDlg из шаблона пользовательского интерфейса и создать собственный клон InstallScopeDlg.wxs и отредактировать его в соответствии с вашими потребностями или скопировать функции оттуда. – Mischo5500
Спасибо. Я рассмотрю это. Эти шаблоны найдены [здесь] (https://github.com/AnalogJ/Wix3.6Toolset) и, похоже, не совместимы с более новыми версиями Wix. – user5521
Это не официальный репозиторий WiX, он находится здесь [link] (https://github.com/wixtoolset/). На прошлой неделе я использовал шаблоны из ветки WiX4 в набор инструментов WiX3.10, и он работает правильно. – Mischo5500