Запуск SFX из приложения: изменение рабочего каталога - PullRequest
1 голос
/ 29 июня 2011

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

Входной файл расположен в c:\sfx\sfx.exe, но в настоящее время он извлекается в папку запуска моего приложения (c:\myapp\,), а не в место, где он хранится (c:\sfx\.)

Как я могу изменить направление вывода?

1 Ответ

4 голосов
/ 29 июня 2011

Когда вы запускаете приложение, «рабочий каталог» - это каталог, из которого вы его запускаете (если явно не указано иное.) Однако вы можете изменить это, используя SetCurrentDirectory из Directory класс.

Пример со ссылочной страницы MSDN:

string dir = @"C:\test";        
try
{
    //Set the current directory.
    Directory.SetCurrentDirectory(dir);
}
catch (DirectoryNotFoundException e)
{
    Console.WriteLine("The specified directory does not exist. {0}", e);
}
// Print to console the results.
Console.WriteLine("Root directory: {0}", Directory.GetDirectoryRoot(dir));
Console.WriteLine("Current directory: {0}", Directory.GetCurrentDirectory());
...