批处理文件在Win 7中注册.ocx

时间:2015-02-09 16:44:23

标签: batch-file

我需要发布一些非常旧的软件才能使用Windows 7(X86和X64)。我唯一的兼容性问题是注册4个.ocx文件。我已根据系统架构编写了以下批处理文件进行注册。

 @echo off
 setlocal enableextensions
 set REGSVR= 
 if defined PROCESSOR_ARCHITEW6432 (
 set REGSVR=%SystemRoot%\system32\regsvr32.exe
 ) else (
     set REGSVR=%SystemRoot%\SysWOW64\regsvr32.exe
 )
 if defined PROCESSOR_ARCHITEW6432 (
     %REGSVR% /s "C:\Windows\System32\mswinsck.ocx"
     %REGSVR% /s "C:\Windows\System32\Timgctrlv6.ocx"
     %REGSVR% /s "C:\Windows\System32\Graphic.ocx"
     %REGSVR% /s "C:\Windows\System32\mscomctl.ocx"
 ) else (
     %REGSVR% /s "c:\windows\sysWOW64\mswinsck.ocx"
     %REGSVR% /s "c:\windows\sysWOW64\Timgctrlv6.ocx"
     %REGSVR% /s "c:\windows\sysWOW64\Graphic.ocx"
     %REGSVR% /s "c:\windows\sysWOW64\mscomctl.ocx"
 )

通过以管理员身份运行批处理文件,这在64位Windows 7中运行得非常好。但是,在我的32位Windows 7测试环境中,它要求我在运行批处理文件之前首先禁用UAC,否则它没有任何影响(即使我右键单击并且"以管理员身份运行")。有人可以说明这可能是什么,或者可能如何做到这一点,这样我就不必向客户规定禁用UAC"仅适用于Win 7 32位"?

0 个答案:

没有答案