#c# #.net
#c# #.net
Вопрос:
Я хочу запустить процесс от обычного пользователя без предоставления учетных данных администратора. Я пишу код на C #. Я прочитал некоторые ответы из Интернета, но никто не работает.
Вот мой пример кода:
Process proc = new Process();
proc.StartInfo.FileName = "EXEPath";
proc.StartInfo.Arguments = "argument";
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardError = true;
proc.StartInfo.RedirectStandardError = true;
proc.Start();
proc.Close();
Я пишу этот код, но все же он может запрашивать учетные данные администратора во время запуска моего приложения Windows. Пожалуйста, помогите мне! ТИА!
Комментарии:
1. Разрешен ли вашему пользователю доступ к пути exe? Запускается ли ваше приложение, выполняющее приведенный выше код, с повышенными правами или без них?
2. Еще одна проблема заключается в том, что вы запускаете процесс
proc.Start()
и закрываете его сразу после запускаproc.Close()
. Вы можете попытаться удалитьproc.Close()
и проверить
Ответ №1:
Это работает просто отлично, учетные данные администратора не заданы, и notepad открыт
using System.Diagnostics;
namespace SO
{
internal class Program
{
public static void Main(string[] args)
{
Process proc = new Process();
proc.StartInfo.FileName = "C:\Program Files\Notepad \notepad .exe";
proc.StartInfo.Arguments = "newfile.txt";
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardError = true;
proc.StartInfo.RedirectStandardError = true;
proc.Start();
}
}
}
Комментарии:
1. Нет разницы в вопросе в вашем коде. Это должен быть комментарий, а не ответ.
2. @nilsK: Различия должны быть тривиальными, поскольку мы предполагаем, что OP использовал сопоставимые аргументы, но наличие полного примера может помочь OP и будущим читателям понять, как правильно ссылаться на исполняемый файл, подтверждая при этом, что учетные данные администратора не должны требоваться. Конечно, я предполагаю, что реальная проблема может заключаться в разрешениях, например,
newfile.txt
.3. @JeremyCaney хорошие моменты, спасибо за обратную связь