结合.Net开发程序,部署到客户机后,无法运行。

0 投票
结合.Net开发程序,部署到客户机后,无法运行,运行时用api moniter工具监控,没有加载.fps .sdx等相关文件(Bin_x64文件下的)

但是,试用许可都安装正常,Bin_x64目录页设置到环境变量中了。请大神指点迷津。万分感谢
5月 17, 2018 分类:  425次浏览 | 用户: 匿名
重新分类 5月 18, 2018 用户:程yan

1个回答

0 投票
您好,请在组件帮助文档搜索私有部署,按里面操作去做。
5月 18, 2018 用户: 胡林 登峰造极 (5,972 分)

私有部署:Bin_x64文件夹拷贝到exe为文件同级目录,然后将该目录配置到.config文件中;再利用SuperMap_Trial_License.exe注册许可。

共有部署:Bin_x64文件夹路径配置到环境变量path中;再利用SuperMap_Trial_License.exe注册许可。

以上两种方式我都试过了不好用啊(我是用行行x64开发的)

私有部署的时候,引用的dll属性中复制本地改成false了吗?程序exe同级目录中由于复制本地产生的dll删除了吗?
开发时引用的3个dll(SuperMap.Realspace.dll、SuperMap.Data.dll、SuperMap.Mapping.dll)属性确实时true。但是我把客户机器上exe同级目录下的这3个文件手动删除了也不好用。刚才也看了许可中心的试用许可也正常。可就是不好用
建议先在开发机器做私有部署(先把环境变量中Bin路径删掉,确保用的是私有部署这一套流程),等开发机器私有部署没问题的时候,再打包去客户机器部署。
客户机器上运行的时候有没有报错,如果没部署好的话会报错:supermap.data.dll加载失败类似的错,有的话把报错信息截图上来,我看看。

现在是这样,我在开发机器上使用共享部署的方式好用。然后在客户机器上也使用共享部署不好用,又改为私有部署还是不好用。

利用api moniter工具监控,exe执行时,总是没有加载.fps .sdx等文件,而在自己的开发机器上都能加载进去。感觉问题现象在这,但就是不知道怎么解决

有无直接的报错信息?如果是环境没部署好,会有直接的报错信息的,有的话截图上来。另外客户机器.NET 框架装了吗,一般现在最新组件需要装4.0以上的。另外按照我上面说的,现在自己机器做私有部署(关掉VS,删除环境变量Bin目录后再去做),自己机器能正常运行起来再去客户机器部署。

问题找到了。

原因是licence注册的问题:应该使用“SuperMap_Trial_License.exe -i ”而不是"SuperMap Trial License.exe" -i -nomsg。前者要等待注册完后者不用等到注册完。另外,在私有部署的时候如果运行时文件要单独放置一个文件夹时,exe同级的SuperMap.Realspace.dll、SuperMap.Data.dll、SuperMap.Mapping.dll这三个务必删除或者像文档所说“这三个dll的Copy Local属性设置为False

非常感谢胡先生的帮助,谢谢!

部署到客户机器后,个别机器有报如下错误:

...