2016-05-05 2 views
0

Я создаю проект установки в Install Shield Limited Edition Visual Studio для Windows 7.Получить текущую директорию от настройки проекта

В этом проекте мне нужно запустить приложение C# как действия клиента во время установки. В этом приложении C# мне нужен путь, из которого запускается проект установки. Я попытался использовать GetCurrentProcess().MainModule.FileName или GetExecutionAssembly(). Местонахождение или Envirement.CurrentDirectory. Все эти функции работают из приложения. Но если я добавлю эту программу для создания проекта как пользовательского действия Во время установки, я получаю путь до C:\Windows.

Как я могу получить реальный путь?
Благодаря

ответ

0

Вы можете получить каталог приложения

string directory = System.IO.Path.GetDirectoryName(Assembly.GetEntryAssembly().Location); 

или

string directory = System.AppDomain.CurrentDomain.BaseDirectory; 

или

string directory = Thread.GetDomain().BaseDirectory; 
0

вы должны добавлены пользовательские установки для вашей установки проекта в настраиваемых действий боль. Выберите Установить действие и установить CustomActionData свойства:

/targetdir="[TARGETDIR]\" 

Затем вы можете получить доступ к этому пути:

[RunInstaller(true)] 
public partial class CustomInstaller : System.Configuration.Install.Installer 
{ 
    public override void Install(System.Collections.IDictionary stateSaver) 
    { 
     base.Install(stateSaver); 
     string path = this.Context.Parameters["targetdir"]; 
     // Do something with path. 
    } 
} 

более https://msdn.microsoft.com/en-us/library/system.configuration.install.installer(v=vs.90).aspx

если вы получаете любой вопрос, дайте мне знать

Смежные вопросы