最近,帮公司做了一个硬件设备的管理系统,系统不复杂,但是要跟硬件打交道,少不了各种脚本处理,异常处理,还有就是各种系统的兼容性。项目都要接近尾声的时候,发现web控件,怎么都注册不了报错。
可是一直都没有问题的啊。
原来,问题出在了win7 “以管理员身份运行” 的权限上了。我们的控件,因为用到了第三方的dll和一些文件,公司管硬件的开发小伙,直接做成了自解压的安装文件。但是没有考虑到系统权限问题,一直都在报错。之前在处理业务逻辑的时候,是小伙自己帮我装了控件,也没有实际做过页面上的下载安装,这下头大了。
百度了下,发现有很多都在问,怎么用批处理脚本代替“以管理员身份运行”的权限。 最像的答案是 使用
runas 脚本,通过输入用户密码,来进行后面的授权处理
runas /user:administrator "C:\Program Files\AutoCAD R14\acad.exe"
但是,这样有个问题:
1. 脚本必须指定管理员的用户名(一般人都是administrator,但是不排除有人会该成自己个性的名字)
2. 每次安装,都要输入密码,处理起来体验不太好。
写道
C:\Users\hadoop>runas /user:hadoop calc.exe
输入 hadoop 的密码:
试图将 calc.exe 作为用户 "HADOOP-PC\hadoop" 启动...
输入 hadoop 的密码:
试图将 calc.exe 作为用户 "HADOOP-PC\hadoop" 启动...
这里给大家一个思路,我觉得是比较行之有效的。
1.把调用的脚本在批处理重新生成新的批处理执行脚本
2.执行生成的批处理脚本,请求管理员权限
3.选择是,获取管理员权限执行应用。
案例:
@echo off REM ________________________________________________________________ >nul 2>&1 "%SYSTEMROOT%\system32\regSvr32.exe" "C:\xxx.ocx" if '%errorlevel%' NEQ '0' ( echo 请求管理员权限... goto UACPrompt ) else ( goto gotAdmin ) :UACPrompt echo 生成脚本并执行... echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs" echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs" "%temp%\getadmin.vbs" exit /B :gotAdmin if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" ) pushd "%CD%" CD /D "%~dp0" REM ________________________________________________________________ echo 测试脚本 pause>nul
BAT脚本不太熟悉的朋友,看来你跟我一样,需要进补了。。。
相关推荐
regsvr32.exe是32位系统下使用的DLL注册和反注册工具,使用它必须通过命令行的方式使用,格式是: regsvr32 [/u] [/s] [/n] [/i[:cmdline]] DLL文件名 命令可以在“开始→运行”的文本框中,也可以事先在bat...
调用"Regsvr32.exe"注册dll文件的C#应用程序
注册、反注册dll,regsvr32命令详解
当运行软件或游戏时,系统提示“没有找到(xxxxx).ocx”、缺少某个“.ocx”等 MSSTDFMT.dll comdlg32.ocx mscomctl.ocx mscomm32.ocx
今天电脑打不开所有的邮箱和QQ空间,我都被弄怕了,找了一阵,不是病毒 和什么流氓软件之类的东东造成的,估计是浏览器的...没被正确注册可能会导致这种现象的出现,结果用regsvr32 jscript.dll命令 后一切恢复正常。
regsvr32命令
Regsvr32命令修复系统错误 Regsvr32命令修复系统错误 Regsvr32命令修复系统错误 Regsvr32命令修复系统错误
内附:利用Regsvr32为你解决windows电脑的疑难杂症。
文件Regsvr32用法及情况介绍,Regsvr32命令的使用方法
注册或卸载系统控件REGSVR32命令使用详解[文].pdf
vba中控件注册,采用regsvr32.exe
Regsvr32命令修复系统故障实例
解决win7 64位系统注册DLL时弹框提示Regsvr32不兼容问题
注册方法一:以管理员身份运行cmd,输入命令: regsvr32 mscomm32.ocx 注册方法二:用记事本在 C:\Windows\SysWOW64新建一个txt文件,然后 输入:C:\Windows\SysWOW64,保存成1.bat(改文件的扩展名)。然后用管理...
Regsvr32.exe注册控件的具体用法
3. Vista和Win7用户请以管理员身份运行注册程序 4. 如果还不能成功注册控件,可运行命令行语句,如下所示 点击 开始 然后打开 dos命令行窗口,输入 regsvr32 注册文件的路径/NTGraph.ocx regsvr32 注册文件的...
regsvr32tool_Downza一个简易注册DLL,OCX的小工具
regsvr32.exe用于注册Windows操作系统的动态链接库和ActiveX控件。这个程序对你系统的正常运行是非常重要的。
附件中包含hh.exe.hhctrl.ocxitss.dll 方法步骤:关联hh.exe... 由于权限问题,直接运行cmd的权限不足以关联组件,需要以管理员身份运行cmd。 重要的事多说几遍,”管理员!管理员!管理员的身份!不是简单的win + R”