2015-12-09 2 views
0

Я запускаю msiexec.exe со следующим кодом.Как изменить название программы UAC?

Process setupProc = new Process(); 
setupProc.StartInfo.UseShellExecute = true; 
setupProc.StartInfo.CreateNoWindow = true; 
setupProc.StartInfo.FileName = "msiexec.exe"; 
setupProc.StartInfo.Arguments = String.Format("/i \"{0}\" /qn {1}", 
sSetupFilePath, installerProperties); 
setupProc.StartInfo.Verb = "runas";   
setupProc.Start(); 

Я хочу изменить название программы в UAC, возможно ли вообще изменить название программы.

Название программы подходят как «C:.. \ Windows \ SysWOW64 \ msiexec.exe с аргументами я обеспечить, чтобы запустить

Я просто хочу, чтобы избавиться от аргументов приходящих летящего msiexec.exe

Я сделал много rnd, но не смог получить возможное решение, и я думаю, что это невозможно.

+0

Нет, потому что вы действительно используете 'msiexec.exe'. (Вредоносная программа будет использовать такую ​​возможность, чтобы обмануть пользователей в запуске небезопасных приложений.) –

ответ

0

Вы должны объяснить, какова ваша фактическая цель. Например, если вы хотите запустить MSI-установку из автономного процесса, дайте этому процессу манифест возвышения, чтобы он запросил возвышение (ваше имя программы) и выполнил повышение, а затем используйте CreateProcess vers вашего кода, UseShellExecute = false.

Или, если ваш код уже работает с повышенным значением, просто установите UseShellExecute = false.

В обоих случаях msiexec будет работать с повышенными и не показывать запросы на высоту, потому что вы запускаете его в режиме CreateProcess.

BTW, если вы используете это из пользовательского действия установки MSI, есть шанс, что он потерпит неудачу - это действительно не рекомендуется вообще.

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