Проблема в создании пользовательских настроек в C # - PullRequest
2 голосов
/ 05 января 2009

Я создал собственный установщик для своего приложения (c #). В процессе установки я буду спрашивать конечного пользователя о месте установки. Моя проблема заключается в том, как передать это место установки (пользовательский ввод) установщику. Установщик всегда пытается установить в c: \ progam файлы [имя производителя] [имя продукта].

пожалуйста, помогите мне

Ответы [ 5 ]

3 голосов
/ 05 января 2009

Программа установки запросит место установки и поместит его в переменную программы установки с именем% TARGETDIR%. Вы можете указать это в качестве пользовательского аргумента для своих пользовательских действий, чтобы они могли использовать его для выполнения других обязанностей.

Перейдите в средство просмотра настраиваемых действий и выберите свойства для настраиваемого действия.

Введите в качестве параметра CustomActionData следующее:

/ TARGETDIR = "[TARGETDIR] \"

Затем в коде пользовательского действия вы можете получить доступ к этому свойству, используя что-то вроде этого:

string targetDir = Context.Parameters["TARGETDIR"];

(Спасибо Тафа за вдохновение, чтобы улучшить мой ответ).

0 голосов
/ 16 декабря 2010

При установке по пути возникают проблемы с получением этого значения:

"C:\Program Files (x86)\AppName"

целевой каталог получает C:\Program Files(x86)\AppName

0 голосов
/ 05 января 2009

Какой бы код мы ни написали в методе установки класса установщика, он вступит в силу только после завершения процесса установки. Тогда как мы можем изменить целевой каталог установки?

0 голосов
/ 05 января 2009

Предполагая, что вы создали установщик в Visual Studio, вы можете управлять файлами, которые развертываются, щелкнув правой кнопкой мыши по проекту установки и выбрав View-> File System. В дереве «Файловые системы на целевом компьютере» указанным пользователем местом установки будет «Папка приложения» (для проектов WinForms) или «Папка веб-приложения» (для веб-проектов). Таким образом, при развертывании файлов в этой специальной папке они окажутся в нужном месте.

0 голосов
/ 05 января 2009

Если нужен не только целевой каталог, но и другое значение, определенное во время установки, CustomActionData - это путь. Затем Installer должен использоваться для достижения этого значения. Например;

this.Context.Parameters["targ"];

в коде установщика, получит значение CustomActionData / targ = "someValue"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...