我正在使用 VB.Net 和 Visual Basic Express 2010。我希望创建一个 .exe 安装文件来分发我的应用程序。但是为了让我的应用程序正常工作,我需要标记我的应用程序。因为需要管理员权限。
单击一次并不是一个真正的选项,因为它 A) 不支持需要管理员权限的代码,并且 B) 不编译成单个 .exe
所以我的问题是...
如何免费创建一个需要程序以管理员身份运行的可执行安装程序包。
我需要管理员权限的原因是因为我的应用程序写入 C:\Windows\System32
我正在使用 VB.Net 和 Visual Basic Express 2010。我希望创建一个 .exe 安装文件来分发我的应用程序。但是为了让我的应用程序正常工作,我需要标记我的应用程序。因为需要管理员权限。
单击一次并不是一个真正的选项,因为它 A) 不支持需要管理员权限的代码,并且 B) 不编译成单个 .exe
所以我的问题是...
如何免费创建一个需要程序以管理员身份运行的可执行安装程序包。
我需要管理员权限的原因是因为我的应用程序写入 C:\Windows\System32
您可以使用转换为 exe 的 bat 文件运行程序,也可以使用 www.BatToExeConverter.com 或http://download.cnet.com/Bat-To-Exe-Converter/3000-将 exe 打包到该 exe 中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"
如果您的安装过程很简单,您可以尝试使用免费版本的 Advanced Installer(创建一个“简单”项目)。它将生成一个安装您的应用程序资源的 MSI 包。
要使您的应用程序请求提升,您可以将应用程序清单添加到其主 exe。在其中,您可以将requestedExecutionLevel设置为requireAdministrator。