Как определить каталог установки проекта? - PullRequest
0 голосов
/ 07 марта 2011

У меня есть проект Visual Studio C #, и у меня есть установщик, который устанавливает файлы в любой каталог, указанный пользователем.У меня также есть другой установщик с локализованными языковыми ресурсами, и я хочу, чтобы он был установлен в вышеупомянутом каталоге.

Может кто-нибудь указать мне правильное направление на это?Я думаю, что мне нужно что-то делать с ключами реестра, но я не знаю, что делать.

Редактировать: Для записи я нашел эту страницу: Как: использовать условие запуска реестра для указанияЦелевой каталог .И я следовал инструкциям, и он сделал то, что хотел.

Ответы [ 3 ]

1 голос
/ 07 марта 2011

Как правило, вы создаете подраздел реестра и значение HKEY_LOCAL_MACHINE \ SOFTWARE \, а затем просто читаете этот ключ во втором установщике, чтобы решить, куда его поместить.

Что-то вроде HKLM \ SOFTWARE \ MyApplication ,

Затем вы создаете строковое значение с именем InstallPath и записываете туда путь от вашего первого установщика.

В зависимости от того, что вы делаете, вы можете посмотреть объединить модули для установки нескольких компонентов с одним MSI.

1 голос
/ 07 марта 2011

Вот один из способов:

Assembly a = Assembly.GetExecutingAssembly();

string folder = System.IO.Path.GetDirectoryName(a.CodeBase);
1 голос
/ 07 марта 2011

Вы на правильном пути. Ваш первый установщик напишет путь установки к известному разделу реестра. Второй установщик считывает путь с этого хорошо известного ключа и помещает его в соответствующие подпапки.

...