日期:2014-05-17  浏览次数:20833 次

安装项目生成的msi无法自动安装
小弟最近用vs2010 c#开发了一个ActiveX控件,然后在解决方案下新建了一个安装项目,生成了exe和msi后缀的文件。
然后我新建了一个web应用程序进行控件的测试,(控件应该是没有问题的,因为在手动安装msi以后成功实现了效果)
小弟调用控件的代码如下 
<object id="helloworld" classid="clsid:A1895039-9E11-4EB9-9B95-460AD57BDF7E" codebase="ActiveX/Setup.exe"></object>

我在发布此网站以后,发生如下情况:
在codebase后,如果我写为exe后缀的文件,可以提示下载,但是提示找不到msi;如果直接写成msi后缀的文件,能自动下载,但是不自动安装,要到临时文件夹下找到该msi手动点击安装,小弟很疑惑,为何不能自动提示安装呢?
我最后尝试了先打包成cab也不行,但是我把cab和msi同时拷贝到发布的目录里面倒是可以自动安装了。

小弟在此想问,1.要实现打开网页自动安装控件真需如此麻烦么?有什么简便的方法?
另外2.在安装项目的属性中,有一个选项是“安装URL”,内容需手动填写,这个属性代表了什么意义,我在其中填写了//localhost/xxx/,在别的机器测试时弹出错误框,说找不到//localhost/xxx/下的msi文件,是否这个url代表了安装文件的地址,是否能设置成一个windows自带的文件夹,让客户端使用时自动将msi下载到此文件夹然后自动安装?


------解决方案--------------------
参见
http://msdn.microsoft.com/en-us/library/aa751968%28VS.85%29.aspx

http://stackoverflow.com/questions/370960/auto-install-activex