Winapi 带/i和不带参数的regsvr32之间的差异
我能够使用成功注册COM-DLL(用VB6编写)Winapi 带/i和不带参数的regsvr32之间的差异,winapi,com,vb6,cmd,regsvr32,Winapi,Com,Vb6,Cmd,Regsvr32,我能够使用成功注册COM-DLL(用VB6编写)dowFct.DLL regsvr32 dowFct.dll 但是当我试着用 regsvr32 dowFct.dll /i 我收到错误(从德语翻译成英语): 已加载模块dowfct.dll,但未找到DllInstall入口点 我在问我,使用regsvr32时是否与使用/I和不使用任何附加参数不同? 有人能帮我一下吗?出了什么问题谢谢。您是否尝试运行regsvr32/? 它告诉我有一些注意参数被发送到dll文件的DllInstall方法 /i:c
dowFct.DLL
regsvr32 dowFct.dll
但是当我试着用
regsvr32 dowFct.dll /i
我收到错误(从德语翻译成英语):
已加载模块dowfct.dll,但未找到DllInstall入口点
我在问我,使用regsvr32时是否与使用/I和不使用任何附加参数不同?
有人能帮我一下吗?出了什么问题谢谢。您是否尝试运行
regsvr32/?
它告诉我有一些注意参数被发送到dll文件的DllInstall方法
/i:cmdline:调用DllInstall并向其传递可选的[cmdline]。与/u一起使用时,它调用dll卸载
[]VB6 COM DLL不导出
DLLInstall()
,这是一个函数,可作为DLL对自身执行设置操作的方式(也是/i
尝试执行的内容),因此您无需担心它
只需使用regsvr32 dowFct.dll
(它调用VB编译器为您添加到库中的DllRegisterServer()
)
/i
选项,regsvr32将加载DLL并调用导出的函数/i
选项,regsvr32加载DLL并调用导出的函数DllInstall
,因此它似乎希望通过调用DllRegisterServer
来注册。因此,在调用regsvr32时省略/i
选项
的文档说明了这两个功能之间的区别:
DllInstall仅用于应用程序安装和设置。信息技术
不应由应用程序调用。它的目的与
DllRegisterServer或DllUnregisterServer。与这些功能不同,,
DllInstall接受一个输入字符串,该字符串可用于指定
各种不同的行动。这允许在中安装DLL
基于任何适当标准的不止一种方法
要将DllInstall与regsvr32一起使用,请添加“/i”标志,后跟冒号
(:)和一个字符串。字符串将作为
pszCmdLine参数。如果省略冒号和字符串,则pszCmdLine
将设置为空。下面的示例将用于安装
DLL
regsvr32/i:“安装_1”dllname.dll
调用DllInstall时,bInstall设置为TRUE,pszCmdLine设置为
“安装1”。要卸载DLL,请使用以下命令:
regsvr32 /u /i:"Install_1" dllname.dll
regsvr32/u/i:“安装_1”dllname.dll
对于以上两个示例,DllRegisterServer或
还将调用DllUnregisterServer。要仅调用DllInstall,请添加
a“/n”标志
regsvr32/n/i:“Install_1”dllname.dll
到目前为止,我一直假设dowFct.dll
regsvr32/I dowFct.dll
与regsvr32 dowFct.dll
相同。不是吗?我不是绝对肯定,但我猜在dll文件上调用了另一个方法,但实际上没有任何输入。可能是
regsvr32 /u /i:"Install_1" dllname.dll
regsvr32 /n /i:"Install_1" dllname.dll