Вопрос оказался специфичным для IExpress.
Вы можете создать свой установщик IExpress и использовать ResHacker, чтобы заменить его манифест на тот, что в моем ответе. http://angusj.com/resourcehacker Тип ресурса 24.
Вот это да. Я бы никогда не поверил. Работал как шарм! Открыл его в ResHacker, изменил RequestedExecutionLevel в манифесте на level= "requireAdministrator" в ResHacker и сохранил. Ноль дефектов. Спасибо
Этот ответ относится к консольным программам - см. admin во время сборки Maven для более общего способа.
Для повышения уровня в Windows рекомендуется встроить манифест. Чего нельзя сделать для текстовых программ. Легко поместить vbscript в VB.NET, добавить манифест и скомпилировать его.
Текущие подходы к сценариям имитируют щелчок правой кнопкой мыши, а затем «Запуск от имени администратора». Это работает только в том случае, если ассоциации файлов установлены по умолчанию в Windows, например, пользователь может отключить этот подход, настроив свою систему.
Имейте в виду, что runas не дает возможности запускать приложение с маркером доступа с повышенными правами, независимо от того, является ли он обычным пользователем с такими привилегиями, как оператор резервного копирования или администратор. Команда runas предоставляет пользователю возможность запускать приложение с другими учетными данными. ... Если ваша программа программно использует команду runas, убедитесь, что она не предназначена для запуска процесса с повышенными привилегиями. https://msdn.microsoft.com/en-us/library/bb530410.aspx
Использовать
RunAsAdminConsole <CMD Command Line>
EG
RunAsAdminConsole mkdir "C:\Program Files\MyDir"
Файлы. Поместите каждый файл на рабочий стол. Должен быть ANSI. Измените эту строку с /k
на /c
по своему усмотрению Shell("cmd /k " & Command())
RunAsAdminConsole.vb
imports System.Runtime.InteropServices
Public Module MyApplication
Public Sub Main ()
Dim wshshell as object
WshShell = CreateObject("WScript.Shell")
Shell("cmd /k " & Command())
End Sub
End Module
Запуск от имени администратора.Манифест
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="*"
name="Color Management"
type="win32"
/>
<description>RunAsAdminConsole</description>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
И пакетный файл RunAsAdminConsole.bat для компиляции выше
C:\Windows\Microsoft.NET\Framework\v4.0.30319\vbc "%userprofile%\Desktop\RunAsAdminconsole.vb" /win32manifest:"%userprofile%\Desktop\RunAsAdmin.manifest" /out:"%userprofile%\Desktop\RunAsAdminConsole.exe" /target:exe
На рабочем столе появится файл с именем RunAsAdminConsole.exe.
person
ACatInLove
schedule
19.12.2017
runas
— сначала поднимите командную оболочку, а затем создайте каталоги. Что вы действительно пытаетесь сделать? - person Bill_Stewart   schedule 20.12.2017