最近做BS模式,为了使用户可以在WEB页上读自己机子上的刷卡器信息.网上“C# ActiveX”找了好多做法,基本上说的都差不多。但都未能实现WEB上显示出控件来。也就是学着网上关键字“C# ActiveX”找到的说法,把生成好的.dll,.msi,.exe或.cab放到我的站点上后,用我的机了访问站点按要求写好的网页,可以显示控件(我想原因是我机子用来开发过这个控件,所以我机子上已安装了,所以可以显示),但是用别人的机子去访问站点点按要求写好的网页,控件跟本就显示不出来,只是一个小框框与红点,我知道是别人的机子上没装上插件,但为什么也不弹出提示安装呢?有没有哪位有经验的高手指教下,应该怎么写与部署才可以达到目的。加Q有话可谈QQ76034969,谢谢!C# ActiveXc#web

解决方案 »

  1.   

    现在可以BS模式读到客户机信息了,但是得客户自己下载安装包。打包的cab文件放到站上,并写好HTML代码,但并没有提示客户端下载安装,肿会回事?
    参考的做法是如下(略去.msi与.exe的生成过程(注:VS2010生成exe与msi时的设置是:右键ActiveXDemo.Setup项目打开属性页面,设置安装URL,这里设置为:http://我的站点域名/放.cab的文件夹)):
    1). 先去微软下载cabsdk.exe(下载地址:http://support.microsoft.com/kb/310618),解压后我们需要里面的CABARC.EXE工具;或下载makeCAB工具包,里面有所需要的工具文件。2). 然后需要编写两个文件,cab安装配置文件install.inf和一个批处理文件run.bat;
    Install.inf内容如下:[version]
    signature="$CHICAGO$"
    AdvancedINF=2.0[Setup Hooks]
    HOOKRUN1=HOOKRUN1[Deployment]
    InstallScope=user[HOOKRUN1]
    run=%EXTRACT_DIR%\run.bat3). 编写run.bat文件,内容如下:
    set CURDIR=%cd%
    msiexec.exe /i "%CURDIR%\ActiveXDemo.Setup.msi" /qn4). 现在需要将ActiveXDemo.Setup.msi,install.inf,runbat 这3个文件打包成cab,假设三个文件和CABARC.EXE已经放在同一个目录中,进入cmd,输入
    F:\Projects\ActiveXDemo CABARC.exe N  F:\Projects\ActiveXDemo\ActiveXDemo.cab  F:\Projects\ActiveXDemo\ActiveXDemo.Setup.msi F:\Projects\ActiveXDemo\install.inf F:\Projects\ActiveXDemo\run.bataspx页或html页的代码:
    <object id="activeXDemo" classid="clsid:DF0769A5-99D3-4BE0-90B8-91C65A92118C" codebase="Install/ActiveXDemo.cab#version=1,0,0,1"></object>
    可能访问时跟本不提示任何安装。请问怎样做才是?