4

Я разрабатываю приложение, и я собираюсь развернуть его с помощью проекта развертывания (который будет создавать установщик).Установить каталог из проектов развертывания

На одном этапе установки установщик может изменить папку установки для приложения.

Мне нужно знать, что это за папка, потому что там будут сохранены некоторые файлы, которые мне нужно использовать из другого DLL-файла. Как я могу программно получить эту папку установки?

Спасибо!

ответ

6

Посмотрите на класс Installer. Добавьте новый класс, полученный из этого класса, в проект вашего приложения. Не забудьте применить атрибут RunInstaller.

В вашем проекте развертывания добавьте пользовательское действие для установки и фиксации. Для свойства CustomActionData для пользовательского действия Установить введите /Targetdir="[TARGETDIR]\".

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

string targetDir = Context.Parameters[ "TargetDir" ]; 
+0

Спасибо, ваш ответ мне очень помог! – Andrei

0

Если у вас есть очень простая установка, где текущий сборник установлен в основной TARGETDIR, то вы можете использовать:

String targetDir = new System.IO.FileInfo(GetType().Assembly.Location).DirectoryName; 
Смежные вопросы