Kleo Rogers Ответов: 3

Как запустить приложение в локальном пользователе


Эй Ребята,
Я пытаюсь создать приложение, чтобы я мог запускать приложение от локального пользователя
и он не реагирует на щелчок
что я делаю не так?
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);

Если это приведет меня к перемещаемой папке и мне просто нужна папка Appdata что тогда
это мой полный путь
C:\Users\Local User\AppData\Local\App folder\app folder\app.exe


Что я уже пробовал:

private void Button11_Click(object sender, EventArgs e)
        {
            string some = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
            string el = "..Local\App folder\app folder\app.exe";
            string path = Path.GetFullPath(Path.Combine(some,el));

        }

Maciej Los

Ну, если вы думаете, что создание 3-х строковых переменных может вызвать какую-то реакцию, вы ошибаетесь.

3 Ответов

Рейтинг:
8

dnxit

Вот объяснение вашего кода, которое вы опубликовали
А теперь я не знаю, чего ты от него ждешь ??

string some = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);

// some will give you C:\Users\YourUser\AppData\Roaming

string el = "..Local\App folder\app folder\app.exe";

// el is a string variable with some path with compile error as it should be \\

string path = Path.GetFullPath(Path.Combine(some,el));

// path will have C:\Users\YourUser\AppData\Roaming\..Local\App folder\app folder\app.exe


Вы должны быть более ясными и улучшить свой вопрос


Kleo Rogers

C:\Users\WIN10\AppData\Local\App папка\spp folder\app.exe
Это полный путь, поэтому мне не нужна перемещаемая папка

dnxit

да тогда ты сможешь
Процесс.Начало("C:\\Users\\WIN10\\AppData\\Local\\App папка\\spp folder\\app.exe");

попробуйте запустить свое приложение, которое пытается открыть это app.exe как администратор может возникнуть проблема с разрешениями

Kleo Rogers

Да но WIN 10 пользователь не будет пчелой на другом компьютере

dnxit

затем убедитесь, что вы вошли в систему с помощью пользователя WIN10 :)

Рейтинг:
20

OriginalGriff

Во-первых, вам нужна обратная косая черта между ".." и "local", и вам нужно отключить экранирование строк, чтобы получить там обратную косую черту вообще:

string el = @"..\Local\App folder\app folder\app.exe";


Затем вам нужно использовать класс Process:
Process.Start(path);

Но вам было бы лучше воспользоваться SpecialFolder.LocalApplicationData вместо этого перечислите значение:
Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)


Kleo Rogers

C:\Users\WIN10\AppData\Local\App папка\spp folder\app.exe
Это полный путь, поэтому мне не нужна перемещаемая папка

OriginalGriff

Точно: поэтому вместо этого используйте значение перечисления LocalApplicationData.

Но если вы используете ApplicationData, вы получаете "роуминг", добавленный для вас, и это то, что "..\локальный" бит вашей следующей строки предназначался для удаления. " .. " - это "специальный код каталога", означающий "каталог выше этого", но только тогда, когда он не является частью имени каталога, как в вашем коде.

Kleo Rogers

Большое спасибо!

OriginalGriff

Всегда пожалуйста!

Рейтинг:
0

Maciej Los

Пожалуйста, сначала прочтите мой комментарий к этому вопросу.

Для запуска приложения (исполняемого файла) вы можете использовать Процесс.Метод Запуска (System.Диагностика) | Microsoft Docs[^]