Добрый день. Написал приложение-1 на C#, которое создает папку. Основное приложение-2 качает его, и закидывает в другую папку внутри себя, что-то вроде "firstApp\secondApp\приложение-1.exe", после чего приложение-2 запускает приложение-1, которое создает папку не в secondApp\firstApp\приложение-1-folder, а в secondApp\приложение-1-folder. При этом, когда вручную запускать приложение-2, оно работает как нужно и создает папку в secondApp\firstApp\приложение-1-folder. То есть при запуске приложения-1 из вне, оно создает директорию не внутри себя, а в корне каталога, из которого была запущена. Как решается данная проблема?
ZipFile.ExtractToDirectory(DownloadName, DownloadName.Remove(DownloadName.Length - 4));
Process.Start(DownloadName.Remove(DownloadName.Length - 4) + "\\" + DownloadName.Replace(".zip", ".exe"), "-sd");
Directory.CreateDirectory("data");
Необходимо указать рабочую директорию приложения, проще всего это сделать в свойствах ярлыка, который будет запускать ваше приложение. В свойствах назначенного задания, также присутствует аналогичная настройка. Внутри кода программ,это можно сделать так
string exeDir =Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
Directory.SetCurrentDirectory(exeDir);
Путь папки приложения.
string path = Directory.GetCurrentDirectory();
string path = Application.StartupPath;
Вы не должны использовать относительные пути, если не хотите таких сюрпризов.
Дело в том, что относительный путь — это путь относительно текущего каталога, а не относительно положения программы на диске. (Нет, это не одно и то же.) Программа сама не контролирует стартовое значение текущего каталога, поэтому либо она должна в самом начале устанавливать его, либо просто всегда работать с полными путями.
Связанный вопрос: Как определяется каталог поиска файла?
О том, как получить каталог, в котором лежит приложение, здесь: Как задать относительный путь для создания файла в C#?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Не могу справится с, на первый взгляд,простой задачей: В строке найти количество вхождений каждой буквыСоздал класс с двумя свойствами
Выдаёт ошибку: SQL logic error near "insert": syntax error" Вот код:
Паттерн producer/consumer достаточно часто встречается в многопоточном программированииЕго смысл состоит в том, что один или несколько потоков...
Интересует вопрос, как заморозить одну ось вращения, чтобы третья не меняласьНапример, если использовать две оси вращения (X и Y ), то объест...