我试图让vbScript在hta中工作。
当我独立运行它时,vbs工作正常,但是当我尝试在hta中使用它时,它无法加载dll文件。
我尝试使用regasm / codebase来注册dll,但这也没有帮助。使用regsvr32不是一个选项,因为它无法在计算机上以管理员身份运行。
我使用ExecuteGlobal
将vbs文件放入hta中,但我也尝试过从hta运行vbs的命令,但它仍然失败。
我是否忽略了一些微不足道的事情?
答案 0 :(得分:0)
您可以使用Regsvr32注册COM dll(通常,但有例外,如RTF 5和更高版本的控制)。您可以使用RegAsm注册假装为COM dll的.NET dll。 两者都需要管理员权限。
* .NET dll将核心.NET dll注册为COM处理程序,它将COM调用分派给.NET组件DLL,这与COM不同,通常不会妨碍它。
要注册.NET dll而不是管理员要求您从RegAsm导出为reg文件(非管理员可以这样做)。使用HKCR
搜索并替换HKCU\Software\Classes
。然后,非管理员可以合并reg文件。
答案 1 :(得分:0)
当告诉Windows运行一个hta时,它将自动假定为32位。要使其在64位系统上运行,请使用%WinDir%\System32\mshta.exe c:\page.hta
需要使用某种包装器或启动器来确保运行正确的mshta版本