谁能告诉我这个.INF文件有什么问题?(Can anyone tell me what is wrong with this .INF file?)
我整天都被困在这一天,并且刚刚用完了想法。
我正在尝试从网页上启动的CAB文件运行安装程序。 我构建了一个cab文件,其中包含一个安装程序(BlowbackInstaller.msi)和一个inf文件(见下文)。
问题:当我在IE8中点击网页时,它正确地提示我控件正在尝试安装并显示正确的签名信息,因此我知道它正在查找CAB文件并且已签名。
然后它正确地提示我是否要安装它。 alt text http://www.freeimagehosting.net/uploads/cf19341e41.png
按下安装按钮后,它只是继续处理页面而不运行安装程序。 我知道这一点,因为安装程序中有几个对话框。
我分别测试了安装程序(msi)并且它工作得很好,看起来好像它不是由IE从CAB启动的。 我怀疑我的INF文件有问题。
这是启动它的HTML ...
<object id="bbc" codebase="../cabs/BlowbackControl.cab" classid="clsid:A4748756-061D-11DF-9D94-BD9455D89593"> <param name="_ExtentX" value="26" /> <param name="_ExtentY" value="26" /> </object>
这是CAB中.inf文件的内容。
[version] signature="$CHICAGO$" AdvancedINF=2.0 [Setup Hooks] hook1=hook1 [hoook1] run=msiexec.exe /i %EXTRACT_DIR%\BlowbackInstaller.msi
任何人都会看到我遗漏的明显事物,或者有进一步排除故障的想法?
I've been stuck on this all day, and have just run out of ideas.
I'm trying to run an installer from a CAB file initiated on a web page. I built a cab file that includes an installer (BlowbackInstaller.msi) and an inf file (see below).
The Problem: When I hit the web page in IE8, it correctly prompts me that a control is trying to install and shows the correct signature information, so I know it is finding the CAB file and it is signed.
Then it correctly prompts me about whether I want to install it. alt text http://www.freeimagehosting.net/uploads/cf19341e41.png
After I press the install button, it just continues processing the page without running the installer. I know this because the installer has several dialogs in it.
I tested the installer (msi) separately and it works just fine, it just seems like it isn't being launched from the CAB by IE. I suspect a problem in my INF file.
Here's the HTML to initiate it...
<object id="bbc" codebase="../cabs/BlowbackControl.cab" classid="clsid:A4748756-061D-11DF-9D94-BD9455D89593"> <param name="_ExtentX" value="26" /> <param name="_ExtentY" value="26" /> </object>
Here is the contents of the .inf file in the CAB.
[version] signature="$CHICAGO$" AdvancedINF=2.0 [Setup Hooks] hook1=hook1 [hoook1] run=msiexec.exe /i %EXTRACT_DIR%\BlowbackInstaller.msi
Anyone see something obvious I am missing, or have any ideas for troubleshooting further?
原文:https://stackoverflow.com/questions/2113586
最满意答案
这里有关于wfs-t的更完整的代码:
var format = new ol.format.WFS({featureNS:"fiware",featureType:'fw_core',schemaLocation:"http://www.opengis.net/wfs \ http://schemas.opengis.net/wfs/1.1.0/WFS-transaction.xsd \ http://192.168.4.33:9090/geoserver/grp/wfs/DescribeFeatureType?typename=fiware:fw_core"}); function addInteraction() { draw = new ol.interaction.Draw({ features: featureOverlay.getFeatures(), type: /** @type {ol.geom.GeometryType} */ (typeSelect.value) }); draw.on('drawend', function(evt) { // create a unique id // it is later needed to delete features // give the feature this id var feature = evt.feature; feature.set('geometry', feature.getGeometry()); var node = format.writeTransaction([feature], null, null, { gmlOptions: {srsName: "EPSG:3857"}, featureNS: "fiware", featureType: "fiware:fw_core" }); $.ajax({ type: "POST", url: "http://192.168.4.33:9090/geoserver/wfs", data: new XMLSerializer().serializeToString(node), contentType: 'text/xml', success: function(data) { var result = format.readTransactionResponse(data); feature.setId(result.insertIds[0]); }, error: function(e) { var errorMsg = e? (e.status + ' ' + e.statusText) : ""; bootbox.alert('Error saving this feature to GeoServer.<br><br>' + errorMsg); }, context: this }); }); map.addInteraction(draw); }
此外,在Geoserver上定义矢量图层时,在发布选项卡中,您必须定义要用作几何列的列。
另一件事,取决于OpenLayers 3版本,您可能需要在此行代码中使用node.impl而不仅仅是node :
new XMLSerializer().serializeToString(node.impl)
希望能帮助到你!
Here is more complete code regarding wfs-t:
var format = new ol.format.WFS({featureNS:"fiware",featureType:'fw_core',schemaLocation:"http://www.opengis.net/wfs \ http://schemas.opengis.net/wfs/1.1.0/WFS-transaction.xsd \ http://192.168.4.33:9090/geoserver/grp/wfs/DescribeFeatureType?typename=fiware:fw_core"}); function addInteraction() { draw = new ol.interaction.Draw({ features: featureOverlay.getFeatures(), type: /** @type {ol.geom.GeometryType} */ (typeSelect.value) }); draw.on('drawend', function(evt) { // create a unique id // it is later needed to delete features // give the feature this id var feature = evt.feature; feature.set('geometry', feature.getGeometry()); var node = format.writeTransaction([feature], null, null, { gmlOptions: {srsName: "EPSG:3857"}, featureNS: "fiware", featureType: "fiware:fw_core" }); $.ajax({ type: "POST", url: "http://192.168.4.33:9090/geoserver/wfs", data: new XMLSerializer().serializeToString(node), contentType: 'text/xml', success: function(data) { var result = format.readTransactionResponse(data); feature.setId(result.insertIds[0]); }, error: function(e) { var errorMsg = e? (e.status + ' ' + e.statusText) : ""; bootbox.alert('Error saving this feature to GeoServer.<br><br>' + errorMsg); }, context: this }); }); map.addInteraction(draw); }
Also when defining vector layer on Geoserver, in publishing tab you must define what column you are using as geometry column.
Another thing, depending on OpenLayers 3 version you might need to use node.impl instead of just node in this line of code:
new XMLSerializer().serializeToString(node.impl)
Hope it helps!
相关问答
更多-
让用户点击openlayers中的输入并存储在postgis中(getting the user click inputs in openlayers and store in postgis)[2023-09-14]
你是对的。 您可以使用WFS-T通过Geoserver编辑PostGIS中的数据。 这是一个如何工作的例子 。 Yes, you are right. You can use WFS-T to edit data in PostGIS via Geoserver. Here's an example of how it works. -
迟到比晚起更好:)下面的代码适用于大型几何体(至少对我而言) 哦,是的,这是简单的jsp代理的代码 <%@page session="false"%> <%@page import="java.net.*,java.io.*" %> <%@page trimDirectiveWhitespaces="true"%> <% /** * This is a white list proxy that could be used the prevent an error due to * JavaScr ...
-
我将几何列名称更改为“几何”,然后发现相对于Java空指针的错误,然后我发现生成的XML代码是错误的,需要修改它,因为它引用了错误的typeName 特性:myLayer while它应该是myNameSpace:myLayer这个我所要做的就是用Javascript替换它: var str=new XMLSerializer().serializeToString(node); var data=str.replace("feature:myLayer","myNameSpace:myLayer"); ...
-
您可以在地图上添加点击事件 所以我们得到像素然后 我们在回调中调用forLachLayerAtPixel来获取图层 you can add click event on the map so we get the pixel and then we call forEachLayerAtPixel on map in the call back we get the layers
-
配置了Geoserver和PostGIS DB的Openshift ......现在怎样?(Openshift with Geoserver and PostGIS DB configured…now what?)[2022-03-25]
基于此示例 ,我认为您需要将http://demo.boundlessgeo.com/geoserver更改为您为openshift实例提供的域名: // format used to parse WFS GetFeature responses var geojsonFormat = new ol.format.GeoJSON(); var vectorSource = new ol.source.Vector({ loader: function(extent, resolution, proje ... -
Openlayers-3 WFS-T(通过geoserver发布postgis功能)(Openlayers-3 WFS-T (Post feature to postgis via geoserver))[2022-07-21]
这里有关于wfs-t的更完整的代码: var format = new ol.format.WFS({featureNS:"fiware",featureType:'fw_core',schemaLocation:"http://www.opengis.net/wfs \ http://schemas.opengis.net/wfs/1.1.0/WFS-transaction.xsd \ http://192.168.4.33: ... -
我认为您的代码中存在错误: featureType: "usa:states", //geoserver Layer Name 我认为这应该是 featureType: "states", //geoserver Layer Name 因为前缀已经使用featureNS定义 至于Geoserver中的“要素类型详细信息”:如果您的表格具有“the_geom”或“geom”coloumn并且其类型是几何图形,请检查Postgres。 I think there is a mistake in your c ...
-
Javascript使用OpenLayers从GeoServer编辑WFS(Javascript editing WFS from GeoServer using OpenLayers)[2022-05-09]
我有一段时间没有真正看过OpenLayers愤怒,我有点放弃更新我的工作示例。 我只是将一个新的JSFiddle放在一起,用于多边形的简单WFS-T插入。 我在生产中使用Geoserver 2.8(开发和测试中的2.9)。 数据库后端是PostGIS 2.1的生产版(2.2 dev)。 小提琴使用OpenLayers 3.16。 我的设置的一些注意事项。 我倾向于在EPSG中使用所有几何图形:3857并且我没有在PostGIS中指定SRS。 仇恨者会讨厌,但我只是将几何列设置为几何。 这样我就可以在同一个表 ... -
我的问题解决了,我把输入元素的类型提交到表单元素之外。 有用。 我的初始代码是: 我的惩教鳕鱼是: My ...
-
我编写了一个脚本,使任务更容易,自述文件解释了它的工作原理。 您可以运行脚本或手动执行其步骤。 http://github.com/w8r/openshift-geoserver/ Ok after a lot of search i figured out that is a little complicated to upload Geoserver to heroku. Then i found that some people upload Geoserver to Openshift. I fou ...