十万火急!!!Win7+C#2013开发的程序在Win10下打不开——在线待解

wShineboy 2019-04-09 10:17:30
RT:C#2013(Update5)+Win7旗舰版
程序是WPF win程序,用到了第三方控件和SQLite。

打包用的是Installshield LE 2015,这个包在win7 下很健康,但安装到Win10就打不开了——打开时没有任何反应。
...全文
2501 22 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
wShineboy 2019-04-10
  • 打赏
  • 举报
回复
我发现点子了——阿拉其它用同一套平台(Win7+C# WPF+SQLite+某3rd控件)做出来的东西用同样的工具打包都可以在Win7/10下正常跑,说明这样做是可行的。位移不同的是,这个程序用到了ZedGraphControl画曲线,应该是它没有部署好。
关中山水郎 2019-04-10
  • 打赏
  • 举报
回复
你的安装路径中有空格,就是Program Files这个文件夹,给路径加"",就可以了
menghutra 2019-04-10
  • 打赏
  • 举报
回复
真好!
  • 打赏
  • 举报
回复
引用 5 楼 wShineboy 的回复:
拷过去试过,问题依旧,第三方组件用了不少年,应该不会出问题。 日志出现了这些——
尽量不要用那些 x86 跟 x64 支持分开版本的库。
  • 打赏
  • 举报
回复
引用 楼主 wShineboy 的回复:
打包用的是Installshield LE 2015,这个包在win7 下很健康,但安装到Win10就打不开了——打开时没有任何反应。
如果你只是安装包的问题,那么应该首先学会使用 vs 自带的 clickonce 生成安装包。
stherix 2019-04-10
  • 打赏
  • 举报
回复
引用 14 楼 wShineboy 的回复:
唉,麻烦各位了,俺看了看,Redistribuables中没有勾选"Microsoft Visual C++ 2010 Redistributable Package (x86)。 俺用的是SQLite3.24,是选择这个版本哇?
用depends工具检查sqlite的dll就知道缺少哪些库文件了
luj_1768 2019-04-10
  • 打赏
  • 举报
回复
可能要去网上搜索vs2013的运行支持库,安装上就应该没问题了。
wShineboy 2019-04-10
  • 打赏
  • 举报
回复
唉,麻烦各位了,俺看了看,Redistribuables中没有勾选"Microsoft Visual C++ 2010 Redistributable Package (x86)。
俺用的是SQLite3.24,是选择这个版本哇?
wShineboy 2019-04-10
  • 打赏
  • 举报
回复
终于解决啦——原来使用的System.Data.SQLite.dll和打包进去的文件版本不一致。
assky124 2019-04-09
  • 打赏
  • 举报
回复
查看Window日志,看看什么错误,然后按照下面的一个一个排查 1.检查运行时是否匹配 2.Bin目录直接拷贝到客户机器是否正确 3.检查第三方的组件可能引起的异常
stherix 2019-04-09
  • 打赏
  • 举报
回复
打开时没有报错? 只是运行不起来? 任务管理器里没有你的进程吗 有可能是缺少c++运行库,因为SQLite需要用到 windows日志里应该有调用失败的记录
秋的红果实 2019-04-09
  • 打赏
  • 举报
回复
sqlite,去https://www.nuget.org/packages?q=System.Data.SQLite看看版本等信息,例如是不是用到.net core 你的程序有没有带日志,没有的话,去查看windows日志 win10没反应,去看日志,到底怎么了
wShineboy 2019-04-09
  • 打赏
  • 举报
回复
另外,我这个Win7时64位的。
stherix 2019-04-09
  • 打赏
  • 举报
回复
引用 11 楼 wShineboy 的回复:
ClsGlobal里面不过是些String和枚举,还有个Connection
就是那个SqliteConnection的问题 Sqlite需要c++运行库,而你win10机器上可能没有对应版本的 别说win10,可能在其他win7机器上都是无法运行的
wShineboy 2019-04-09
  • 打赏
  • 举报
回复
能出问题的话,在Win7里面就Down了。
wShineboy 2019-04-09
  • 打赏
  • 举报
回复
ClsGlobal里面不过是些String和枚举,还有个Connection

qq_15826817 2019-04-09
  • 打赏
  • 举报
回复
建议一些程序要访问的文件尽量不要放在c盘
qq_15826817 2019-04-09
  • 打赏
  • 举报
回复
会不会是权限的问题,造成win7下可以正常读写文件,然后win10权限要求高读文件就出错了?
stherix 2019-04-09
  • 打赏
  • 举报
回复
引用 7 楼 wShineboy 的回复:
我把ClsGlobal里面所有的功能都删掉了,只保留变量。结果照旧—— Framework 版本: v4.0.30319 说明: 由于未经处理的异常,进程终止。 异常信息: System.IO.FileNotFoundException 在 Prj021HD.ClsGlobal..cctor() 异常信息: System.TypeInitializationException 在 Prj021HD.Wnd_Main..ctor() 再说一次——这个包在Win7里面跑得好好的,说明不会存在“能导致无法打开”的问题。我觉得应该从Win10和Win7的异同方面来考虑我问题。Win10俺没啥研究,麻烦各位前辈了。
ClsGlobal实例化的时候会初始化变量,比如sqlite的引用,你把所有变量全删了,就保留一个空类绝对不会出这个问题了
wShineboy 2019-04-09
  • 打赏
  • 举报
回复
我把ClsGlobal里面所有的功能都删掉了,只保留变量。结果照旧——
Framework 版本: v4.0.30319
说明: 由于未经处理的异常,进程终止。
异常信息: System.IO.FileNotFoundException
在 Prj021HD.ClsGlobal..cctor()

异常信息: System.TypeInitializationException
在 Prj021HD.Wnd_Main..ctor()

再说一次——这个包在Win7里面跑得好好的,说明不会存在“能导致无法打开”的问题。我觉得应该从Win10和Win7的异同方面来考虑我问题。Win10俺没啥研究,麻烦各位前辈了。
加载更多回复(2)

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧