Для обычного файла .exe я всегда могу щелкнуть правой кнопкой мыши и выбрать «запустить как ..». Как я могу запустить приложение Click-Once с другими учетными данными аналогичным образом?
Я говорю о самом приложении, а не об установщике.
Для обычного файла .exe я всегда могу щелкнуть правой кнопкой мыши и выбрать «запустить как ..». Как я могу запустить приложение Click-Once с другими учетными данными аналогичным образом?
Я говорю о самом приложении, а не об установщике.
Ответ на самом деле нет, вы не должны этого делать. Приложения ClickOnce устанавливаются под профилем пользователя и принадлежат только этому пользователю. Они не будут и не будут работать как установка для всех пользователей.
Также обратите внимание, что если вы дважды щелкните файл [exe] (расположение которого меняется каждый раз при обновлении), он не будет искать обновления, он не будет проверять файлы, чтобы убедиться, что они не были подделаны. с участием. Другими словами, оно не будет работать как приложение ClickOnce.
Я также думаю, что передавать имя пользователя и пароль в строке запроса не рекомендуется, потому что любой, кто запускает fiddler, charles или любой другой анализатор сетевого трафика, сможет увидеть учетные данные.
Это на самом деле возможно, вам просто нужно сделать это в два этапа. Сначала вам нужно запустить ClickOnce (dfsvc.exe) от имени пользователя, которого вы пытаетесь олицетворить, а затем вы можете запустить приложение развертывания, используя rundll32, примерно так:
(из командной строки)
1.- Нажмите один раз:
runas /user:domain\user "c:\Windows\Microsoft.NET\Framework\v4.0.30319\dfsvc.exe"
2.- Запустить приложение:
runas /user:domain\user "rundll32 c:\Windows\System32\dfshim.dll,ShOpenVerbApplication http://someurl.com/tool.application"
Обратите внимание, что вам нужно запустить dfsvc.exe только один раз, если вам нужно запустить несколько приложений, и он исчезнет через некоторое время, как только вы закроете все свои олицетворенные приложения, щелкающие один раз.
user ?
- person turbanoff; 08.08.2014
user
- person turbanoff; 12.08.2014
Вы говорите об одноразовом процессе или о чем-то, что должно происходить каждый раз, когда ваш код запускается на нескольких компьютерах? Потому что, если вы просто хотите лично запустить приложение ClickOnce с повышенными разрешениями, это довольно просто. Нажмите, когда приложения будут находиться в папке %LOCALAPPDATA%\Apps\2.0[ObfuscatedFolderName]. Просто найдите папку с вашим приложением (информации должно быть достаточно для временной метки), затем щелкните правой кнопкой мыши свой EXE-файл и запустите его от имени администратора.
Если вы хотите сделать это в коде, самое простое решение, вероятно, состоит в том, чтобы создать приложение для запуска оболочки вокруг вашего кода, которое запрашивает повышенные разрешения в коде. Вот такой пример.