Изменение пути установки (папка приложения) в установщике Visual Studio - PullRequest
0 голосов
/ 09 мая 2018

Я хочу добавить диалог, который будет текстовым полем, пользователь что-то напишет в том (например, имя клиента - Nike), который будет обязательно заполнить, а затем я хотите использовать это значение в папке приложений. Ex - Путь к папке приложения по умолчанию - [ProgramFilesFolder][Manufacturer]\[ProductName] и я хочу добавить это текстовое поле или значение диалогового окна в том смысле, что теперь местоположение папки будет [ProgramFilesFolder][Manufacturer]\[TextBoxValue]\[ProductName]. Пожалуйста, помогите мне, если я могу написать этот код в классе или как добавить в свойство? Могу ли я достичь этого? Ответьте, пожалуйста. Спасибо за помощь ...

Местоположение изображения по умолчанию

enter image description here

Добавлен textbox в пользовательском интерфейсе -

enter image description here

1 Ответ

0 голосов
/ 11 мая 2018

Это не поддерживается в проектах установки Visual Studio. Однако это может быть достигнуто путем изменения файла MSI после его сборки.

В диалоговом окне текстовых полей с именем свойства по умолчанию EDITA1 обычным способом добавления введенного пользователем значения в путь будет определение пути в представлении файловой системы для папки приложения как:

[ProgramFiles64Folder] [Производитель] \ NewSetup [EDITA1]

, где квадратные скобки вокруг имен свойств приводят к их разрешению к фактическим значениям Таким образом, в основном поместите [EDITA1] в соответствующее место.

К сожалению, создание MSI-файла в Visual Studio не помогает. Проблема заключается в том, что каталог для папки приложения установлен ДО отображения диалогового окна текстовых полей. Способ исправить это - отредактировать файл MSI с помощью Orca и в конце изменить таблицу InstallUISequence. Значения порядкового номера не имеют значения. Просто измените порядковые номера так, чтобы конец таблицы InstallUISequence был в следующем порядке:

MaintenanceForm DIRCA_TARGETDIR CostFinalize FolderForm ExecuteAction

и убедитесь, что вы переместили DIRCA_TARGETDIR и не оставили его в своем раннем положении.

DIRCA_TARGETDIR - это действие, которое устанавливает целевой каталог для папки приложения. Поместив его после диалогового окна текстовых полей, он будет включать значение EDITA1, которое отображается в FolderForm для каталога установки для папки приложения.

...