刚刚接触C#,在linux下面做习惯了c和c++,在本机运行OK后,得瑟的去别的机子,居然运行不了,你妹啊,怎么回事,没有.NET Framework,原来和java类似,.NET Framework相当与c#的虚拟机。装上后FW后,还是运行不起来,报以下错误

我靠,什么鸟情况。用dumpbin -import xxx.exe将所需的dll也拷过去还是不行。难道还要装VS2010才成?坑爹的我拿着vs2010装了半天,装上2010后果然能运行了,这你妹的难不成要用户装开发工具软件,这不对劲啊。果然还是有方法的--程序打包部署。在打包部署的过程中才发现,在界面上用了一个VB控件,这个控件的dll没有拷贝,估计这个拷贝多股就没问题了吧,没试过。先打包。

c#程序打包步骤:

STEP1:新建安装项目

在IAPengi-Win解决方案上增加一个项目:右键解决方案,添加--新建项目--其他项目类型--visual studio install--安装项目(或直接搜索安装项目)

解决方案前后对比:IAPengiCore不用去管,这是用C写的数据引擎算法,做成dll提供给IAPengi-Win调用的。C#打包部署只关心:1.要打包的项目(IAPengi-Win);2.怎么打包或者说怎么建立安装项目(IAPengiSetup)

STEP2:添加必要的文件

1.在“应用程序文件夹”右击 "添加--项目输出--选择IAPengi-Win项目“

2.添加卸载程序,将C:\Windows\System32中的msiexec.exe复制出来,在“应用程序文件夹”右击 "添加--文件--选择刚才复制出来的这个msiexec.exe”

3.在“应用程序文件夹”右击“添加--文件--选择你的图标*.ico以及自己写的dll,程序配置表等等”

STEP3:创建桌面及卸载快捷方式

1.创建主输出来自***的快捷方式,重命名为IAPengi-Win,属性--设置ico,拖到“用户的程序菜单”,用同样的方法创建快捷方式,拖到“用户桌面”

2.创建卸载程序快捷方式,首先记下本工程(setup工程)的ProductCode,选中setup工程--视图--其他窗口--属性窗口--ProductCode类似:{8D0930FF-63CD-4FBD-94FC-3467C38F579D}

3.创建卸载快捷方式,即msiexec.exe的快捷方式,重命名为“卸载IAPengi-Win”,右键属性窗口,找到有一项叫做Arguments,先填上/X后面粘帖上2中的ProductCode。将快捷方式“卸载IAPengi-Win”添加到“用户的程序菜单”

STEP4:打包.NET Framework

在IAPenginSetup中,项目属性,选择系统必备,选““从与我的应用程序相同的位置下载系统必备组件”,确定

生成,一个setup的程序就可以了,安装到其他机子运行OK.

补充:

程序有两个配置文件,桌面快捷方式的属性中“打开文件位置”是灰色不可用的。以下记录解决办法:

(我的快捷方式指向IAPengi-Win.exe)

1.下载Orca软件:http://download.csdn.net/detail/leo9150285/5267426

2.用orca打开打包程序里的msi文件,IAPengiSetup.msi,找到File选项,找到指向的IAPengi-Win.exe,复制File值(FileVal),下图黄色高亮部分。

3.左边列表找到shutcut选项,找到要改的快捷方式,修改Target的DefaultFeature为 [#FileVal] 这里的FileVal是2.中复制的值,注意前后加上中括号和#号---[#.......]

4.重新卸载,安装下,OK

2013-5-2日补充:

1.为做成安装项目前的程序,确实如我猜测的一样,缺少VB组件的dll文件,这个dll确实很难找,在depends里也没有看到,后来在“项目--属性--发布--应用程序文件”里有找到,贴图如下

2.做成安装项目后,安装--运行exe程序,发现程序运行不正确,很多带e指数的元件算法没有正常执行,一样的程序,没有做成安装项目前和做成安装项目后,运行的结果不一致。我的程序调用dll如下:

IAPengi-Win.exe-----》IAPCore.dll-----》xxx.dll,xxx.dll是其他的系统库。

估计在调用xxx.dll时,没有去调用,但奇怪的是系统没有任何报错提示,搞不懂为什么。

最后的解决办法是,在编译IAPCore.dll的时候,编译选项为静态(项目--属性--c/c++--代码生成--运行库改为MT开头的)

http://blog.csdn.net/leo9150285/article/details/8809454

用C#做成的程序如何打包部署,在其他PC机运行的更多相关文章

  1. Windows程序的打包,部署(vs项目打包vs2013)---ShinePans

    Windows 应用程序在开发完毕之后,怎样将程序打包并制作成安装程序在客户机上部署 是每一个windows应用程序开发完毕之后都必须面对的问题. 学习目标:                    部 ...

  2. 桌面应用程序ClickOne打包部署

    http://www.cnblogs.com/weixing/p/3358740.html

  3. .NetCore下利用Jenkins如何将程序自动打包发布到Docker容器中运行

    说道这一块纠结了我两天时间,感觉真的很心累,Jenkins的安装就不多说了 这里我们最好直接安装到宿主机上,应该pull到的jenkins版本是2.6的,里面很多都不支持,我自己试了在容器中安装的情况 ...

  4. windows服务怎么向应用程序发消息(部署在同一台机,非SCOKET)

    命名管道:NamedPipeClientStream & NamedPipeClientStream 参考实例:http://msdn.microsoft.com/zh-cn/library/ ...

  5. 【转】VS2012程序打包部署详解

    上篇博客把收费系统的总体设计进行了一遍讲解,讲解的同时掺杂了些有关.NET编译机制的总结.程序编写测试完成后接下来我们要做的是打包部署程序,但VS2012让人心痛的是没有了打包工具.不知道出于什么原因 ...

  6. [转载]VS2012程序打包部署详解

    上篇博客把收费系统的总体设计进行了一遍讲解,讲解的同时掺杂了些有关.NET编译机制的总结.程序编写测试完成后接下来我们要做的是打包部署程序,但VS2012让人心痛的是没有了打包工具.不知道出于什么原因 ...

  7. (转) VS2012程序打包部署详解

    程序编写测试完成后接下来我们要做的是打包部署程序,但VS2012让人心痛的是没有了打包工具.不知道出于什么原因微软没有将打包工具集成在开发环境中,但是我知道总会有解决办法的.     经过翻阅资料发现 ...

  8. VS2013程序打包部署(图解),vs2013部署

    VS2013程序打包部署(图解),vs2013部署 首先要说明的是VS解决方案配置下的Debug模式和Release模式有什么区别.Debug模式通常称为调试模式,它包含调试信息,未对代码进行优化,方 ...

  9. VS2012及以上版本 程序打包部署详解

    引用:  http://blog.csdn.net/zhang_xinxiu/article/details/9099757 程序编写测试完成后接下来我们要做的是打包部署程序,但VS2012让人心痛的 ...

随机推荐

  1. Google C++单元测试框架GoogleTest---AdvancedGuide(译文)

    上篇在这里: 下篇在这里.

  2. Django学习:创建admin后台管理站点

    Django自带一个后台管理站点,方便我们管理数据.这个界面只给管理员使用,并不对大众开放. 创建管理员用户 py manage.py createsuperuser 如下图所示: 用户名不填的话,默 ...

  3. tensorflow保存数据为.pb格式和加载pb文件

    转自:https://blog.csdn.net/u014264373/article/details/79943389 https://blog.csdn.net/fu6543210/article ...

  4. FFmpeg常用命令学习笔记(四)处理原始数据命令

    处理原始数据命令  通过音视频设备采集的.没有经过任何加工的数据叫原始数据,而像我们平时播放的比如mp4文件是压缩后的数据.视频原始数据是YUV格式,音频原始数据是PCM格式.FFmpeg可以从封装格 ...

  5. grep匹配命令

    关于匹配的实例: 统计所有包含“48”字符的行有多少行 grep -c "48" demo.txt   不区分大小写查找“May”所有的行) grep -i "May&q ...

  6. 数字签名 转载:http://www.youdzone.com/signature.html

    What is a Digital Signature?An introduction to Digital Signatures, by David Youd Bob (Bob's public k ...

  7. android&ios区别

    转自(只讲干货的老张) 面试中经常提问到一个点,就是做手机测试绕不去的点,那就是Android和ios的区别.这篇文章只做一些比较重要的点讲一下,太深入部分就不讲了,毕竟我做的是测试,而Android ...

  8. BZOJ 4562: [Haoi2016]食物链 拓扑排序

    建反图,跑一个拓扑排序dp即可. Code: #include <bits/stdc++.h> #define ll long long #define N 100005 #define ...

  9. LA 6972 Domination

    6972 Domination Edward is the headmaster of Marjar University. He is enthusiastic about chess and of ...

  10. [Luogu] 逛公园

    https://www.luogu.org/problemnew/show/P3953 https://www.zybuluo.com/wsndy-xx/note/1134388 #include&l ...