Установить каталог из проектов развертывания - PullRequest
4 голосов
/ 05 октября 2010

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

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

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

Спасибо!

Ответы [ 2 ]

6 голосов
/ 05 октября 2010

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

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

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

string targetDir = Context.Parameters[ "TargetDir" ];
0 голосов
/ 18 сентября 2015

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

String targetDir = new System.IO.FileInfo(GetType().Assembly.Location).DirectoryName;
...