我使用CABARC.exe创建了一个包含myx的cab文件。我还创建了一个.inf文件。我的inf文件如下所示:
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Add.Code]
MySetup.exe=MySetup.exe
[MySetup.exe]
file-win32-x86=thiscab
clsid={49892510-B520-4b35-8ADF-57084DD2F717}
我的HTML看起来像这样:
<object name="secondobj" style='display:none' id='TestActivex'
classid='CLSID:49892510-B520-4b35-8ADF-57084DD2F717'
codebase='http://myurl/MySetup.cab#version=1,0,0,0'></object>
我使用以下命令创建了CABARC:
C:\tools\Cab\BIN>CABARC.EXE N MySetup.cab MySetup.msi setup.inf
我还在受信任的网站上添加了http://myurl。现在我第一次在IE中打开html页面时,我看到了一个黄色条,我接受了。但是它从未安装过activex控件。我没有看到我的程序文件中的安装,也没有在事件日志或临时下载文件夹或“管理加载项”中看到任何内容。现在,每当我在IE中打开网页时,我都看不到黄色条了。
有人可以帮帮我吗?
答案 0 :(得分:2)
希望它有所帮助...
答案 1 :(得分:1)
VS 2008提供了一个出色的CAB项目。您可以在其他项目类型/设置和部署/ CAB项目下找到它。
对于简单的CAB项目,您只需添加组件项目输出。
如果您还需要对CAB进行签名,则必须编辑项目属性,添加post build signtool.exe命令,但是一旦您能够通过cmd行对组件进行签名,您只需将命令行复制到post build事件即可。 使用$(ProjectDir)宏可以帮助推广自动构建的过程。
答案 2 :(得分:1)
看起来我的.inf已经关闭了。这对我有用:
[version]
Signature="$CHICAGO$"
AdvancedINF=2.0
[Setup Hooks]
hook1=hook1
[hook1]
run=msiexec.exe /i "%EXTRACT_DIR%\MySetup.msi" /qn
制作出租车:
CABARC.EXE N MyActiveX.cab MySetup.msi setup.inf