需要管理员权限的Visual Basic 2010 Express应用程序的免费部署

时间:2011-09-11 20:16:08

标签: setup-deployment visual-studio-express vb.net-2010 admin-rights

我正在使用VB.Net和Visual Basic Express 2010.我正在寻找创建单个.exe安装文件来分发我的应用程序。但为了使我的应用程序正常工作,我需要标记我的应用程序。需要管理员权限。

单击一次实际上不是一个选项,因为它A)不支持需要管理员权限的代码,B)不编译成单个.exe

所以我的问题是......

如何免费创建单个可执行安装程序包,要求程序以管理员身份运行。

我需要管理员权限的原因是因为我的应用程序写入C:\ Windows \ System32

2 个答案:

答案 0 :(得分:0)

您可以使用转换为exe的bat文件运行程序,也可以使用www.BatToExeConverter.com或http://download.cnet.com/Bat-To-Exe-Converter/3000-2069_4-10555897.html

将您的exe打包到该exe文件中

将此代码放在您的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"

答案 1 :(得分:0)

如果您的安装过程很简单,您可以尝试使用免费版本的Advanced Installer(创建一个“简单”项目)。它将生成一个MSI包,用于安装您的应用程序资源。

要使应用程序请求提升,可以在其主exe中添加application manifest。在其中,您可以将 requestedExecutionLevel 设置为 requireAdministrator