C # Install - изменить расположение пользовательской папки с помощью диалогового окна установки

Я пытаюсь установить службу Windows, используя проект установки Visual Studio. Все идет хорошо, за исключением того, что я хочу, чтобы пользователь мог использовать диалоговое окно установки, чтобы указать расположение пользовательской папки, которая будет создана во время установки.

Я добавил диалоговое окно Textboxes, которое сохраняет расположение папки в свойстве установки (в этом примере PATHPROPERTY), но я не могу понять, как его использовать для изменения пути к папке, которую я создаю во время установки. Я установил свойство «Расположение по умолчанию» пользовательской папки в меню «Файловая система» на:

"[PATHPROPERTY]\folder"

Но когда я меняю путь в диалоговом окне установки, папка создается в расположении по умолчанию PATHPROPERTY, а не в том месте, которое я меняю во время установки. Таким образом, кажется, что папка создается до того, как я дохожу до точки в своем диалоговом окне, где я запрашиваю путь.

Я заметил, что для папки есть свойство Property, которое я могу установить и предположительно использовать для изменения местоположения папки во время установки, и я видел несколько статей, предполагающих, что это можно использовать для установки местоположения с помощью флага командной строки. . Но я хотел бы иметь возможность использовать диалоговое окно установки, а затем, возможно, установить это свойство в моем классе установщика, но я еще не нашел документации о том, как это сделать.

Я также нашел кое-что о Session.Property для установки свойства, но в документации не было ясно, как это использовать.

Любая помощь приветствуется.

Ой. Также. Я нацелен на .NET 3.5.


person zarrel40    schedule 05.07.2013    source источник


Ответы (1)


Таким образом, PATHPROPERTY возвращает пользовательское местоположение папки, выбранное пользователем. Если это так, вы должны установить для этого свойства атрибут «Свойство».

Также убедитесь, что в редакторе пользовательского интерфейса вы получаете пользовательский ввод перед началом установки. (Вы можете перемещаться вверх и вниз по пользовательскому интерфейсу в нужное положение)

person Kurubaran    schedule 05.07.2013
comment
Ну, технически, я хочу, чтобы PATHPROPERTY возвращал родительский каталог пользовательских папок, тогда я создам пользовательскую папку как подкаталог PATHPROPERTY. Диалоговое окно появляется сразу после диалогового окна «Добро пожаловать» и прямо перед диалоговым окном «Папка установки». - person zarrel40; 08.07.2013
comment
Я попытался установить для свойства «Свойство» пользовательской папки то же имя, что и свойство диалогового ввода (например, PATHPROPERTY). Но это тоже не сработало, я думаю, это то, что вы предлагали. - person zarrel40; 08.07.2013
comment
Да, это то, что я предложил. Если PATHPROPERTY возвращает правильное значение, это должно работать. потому что я сделал то же самое пару дней назад, и это работает нормально. - person Kurubaran; 08.07.2013
comment
Если вы не смогли это сделать, я могу предложить еще один подход, это не прямолинейно, попробуйте добавить класс установщика и переопределить метод Install и иметь свою логику для создания пользовательских папок, которые вам нужны на целевой машине? - person Kurubaran; 08.07.2013
comment
Это то, что я в итоге сделал. За исключением того, что я использовал пользовательские папки установщика Windows, чтобы создать папку в месте по умолчанию, а затем переместил папку в указанное пользователем место после установки в функции фиксации класса установщика. Тем не менее, большое спасибо за вашу помощь! - person zarrel40; 08.07.2013