找回密码
 立即注册

QQ登录

只需一步,快速开始

taxsoft

中级会员

76

主题

246

帖子

608

积分

中级会员

积分
608

活字格认证微信认证勋章元老葡萄

taxsoft
中级会员   /  发表于:2012-4-25 10:31  /   查看:7322  /  回复:5
SPREAD FOR .NET  6 授权版
使用的.net3.5版的控件,在XP SP3+VS2008 编译
编译后在其他机器上无法运行(XP SP3+VS2008 ),双击后光标一秒钟等待,程序没有任何反应,系统进程里也没有。
引用的dll拷贝到本地

5 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2012-4-25 11:24:00
沙发
“编译后再其他机器上无法运行”是指编译后工程bin目录拷贝到其它没有安装spread的电脑上嘛,如果你接将bin目录拷贝到没有安装spread的电脑上,如果缺少必要的dll是不会正常运行的,你可以将你的工程做成一个安装包,然后在没有安装spread的电脑上安装,然后运行。
回复 使用道具 举报
taxsoft
中级会员   /  发表于:2012-4-25 12:59:00
板凳
做成一个安装包,需要哪些要件,是不是有你们的专门工具来做,还是我们自己用InstallShield 来做?
是不是除开发机器(凡是装过spread)以外,凡是用到spread控件或者或者相关类库的程序,都必须通过生成安装包分发给用户?
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-4-25 13:54:00
地板
taxsoft 你好

之前建议通过生成安装包主要的方式,是为了让工程中需要用到的dll都能正确的安装到客户机上

发布程序可以直接将编译生成的exe和需要用到的dll直接拷贝到客户机上,也可以通过制作安装包的形式进行发布

如果直接将编译生成的bin目录拷贝到客户机上运行,可以在编译时将需要用到的spread相关的dll设置为拷贝到本地(在引用的dll上点击右键,选择属性,将拷贝到本地设置为true),然后将编译的bin目录拷贝到客户机上

因为你工程是.net 3.5 (sp1)的,所以客户机也应该安装.net 3.5(sp1)
回复 使用道具 举报
taxsoft
中级会员   /  发表于:2012-4-25 14:18:00
5#
原帖由 dof 于 2012-4-25 13:54:00 发表
taxsoft 你好

之前建议通过生成安装包主要的方式,是为了让工程中需要用到的dll都能正确的安装到客户机上

发布程序可以直接将编译生成的exe和需要用到的dll直接拷贝到客户机上,也可以通过......


你所讲的条件完全满足,在两台XP SP3上都无法运行。
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-4-25 15:07:00
6#
在运行工程生成的exe之后,会有什么提示信息吗,能否截图发来看一下.此外,你工程中除了spread是否还有其它第三方控件。

我在VS2008 + XPSP3 + Spread for .net 6.0环境做了这样一个测试,你也可以按照下面步骤测试一下,主要是排除其它环境的影响:
1、在VS2008中新建一个WinForm程序
2、将Spread控件拖拽到Form1上
3、在工程的引用中将Spread相关的DLL引用全部设置为“拷贝到本地”
4、将编译类型修改为“Release”
5、运行程序
6、检查项目bin中的Release目录下DLL是否正确
7、将Release目录直接拷贝到一个客户机环境中(我测试的客户机只安装了XP SP3操作系统和.net framework 3.5 sp1)

或者你用安装包制作工作将工程打包发布,比如通过InstallShield 工具做一个安装包,如何在客户机上进行安装,看能否正常运行。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部