Бесплатное развертывание приложения Visual Basic 2010 Express, требующего прав администратора - PullRequest
2 голосов
/ 12 сентября 2011

Я использую VB.Net и Visual Basic Express 2010. Я ищу создать один установочный файл .exe для распространения моего приложения. Но чтобы приложение работало, мне нужно пометить его. как требующий прав администратора.

Click Once на самом деле не вариант, потому что он A) не поддерживает код, требующий прав администратора, и B) не компилируется в один .exe

Так что мой вопрос ...

Как мне бесплатно создать один исполняемый установочный пакет, который требует, чтобы программа запускалась от имени администратора.

Причина, по которой мне нужны права администратора, заключается в том, что мое приложение пишет в C: \ Windows \ System32

Ответы [ 2 ]

0 голосов
/ 21 сентября 2011

Если процесс установки прост, вы можете попробовать использовать бесплатную версию Advanced Installer (создайте «Простой» проект). Он сгенерирует пакет MSI, который установит ресурсы вашего приложения.

Чтобы сделать запрос на повышение прав приложения, вы можете добавить манифест приложения в его основной exe-файл. В нем вы можете установить requiredExecutionLevel в requireAdministrator .

0 голосов
/ 12 сентября 2011

Вы можете запустить программу, используя bat-файл, преобразованный в exe-файл, и вы можете упаковать свой exe-файл в этот exe-файл, также используя www.BatToExeConverter.com или http://download.cnet.com/Bat-To-Exe-Converter/3000-2069_4-10555897.html

Поместите этот код поверх файла bat, чтобы получить права администратора.

mkdir "%windir%\BatchGotAdmin"
if '%errorlevel%' == '0' (
rmdir "%windir%\BatchGotAdmin" & goto gotAdmin 
) else ( goto UACPrompt )

echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute %0, "", "", "runas", 1 >> "%temp%\getadmin.vbs"

"%temp%\getadmin.vbs"
exit /B

if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
pushd "%CD%"      
CD /D "%~dp0"
...