一个C#winform打开新窗口的应用程序在打开.exe文件是出现参数不正确的问题。

winform程序的exe文件在其他电脑运行不了 - C#语言 - 网站开发技术
帮助别人就是帮助自己!
如果这里解决了您的问题,请您点一下推荐
winform程序的exe文件在其他电脑运行不了
用winform做了一程序,引用了第三方组件(WinHtmlControl.dll),生成的exe文件在其他电脑运行不了。目前已确定是那个第三方组件(编辑器)的问题。大致错误如下:System.Reflection.TargetInvocationException: 调用的目标发生了异常。 ---& System.IO.FileNotFoundException: 未能加载文件或程序集“Microsoft.mshtml, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。系统找不到指定的文件。文件名:“Microsoft.mshtml, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”
在 CNPOPSOFT.Controls.HtmlEditor.RefreshToolBar()
在 CNPOPSOFT.Controls.HtmlEditor.webBrowserBody_DocumentFocusing(Object sender, HtmlElementEventArgs e)
......备注:测试电脑都装有framework环境。望大家不吝赐教。
那个电脑上没装第三方组件吧?
1、将WinHtmlControl.dll放到system32下2、打开开始-运行-CMD3、REGSVR32 WinHtmlControl
引用DLL文件,注册
WinHtmlControl.dll 放和exe 同个目录看看。
把dll文件在目的端注册了 或者放到同级目录下
WinHtmlControl.dll本身就在exe的同级目录下,目前参照楼上几位兄弟的网址、方法测试在.
安装Framework 1.1
1、.NET开发的winform需要客户端也安装框架,安装的版本要看你开发的时候用的版本2、安装第三方的控件3、要注意第三方空间的安装位置,是否能被妮的程序引用
安装 .Net FrameWork
不知楼上几位老二看清没有,都说装了FrameWork环境了。竟然还有随便说装1.1的版本,晕倒。
8楼说的对,按你的情况一般是第三方控件的问题,把那具dll和你的应用程序放到同一个文件夹下。(一般文件是有属性中调协一个always copy,dll能不能这么设置不记得了。。。)
注册控件 ,或者安装,呵呵
一般像2楼那么做
搞错了 05里面mshtml.dll也是7.0版本的把那dll一起拷进去看看
引用 4 楼 icdbow 的回复:
WinHtmlControl.dll 放和exe 同个目录看看。
只有引用的内容不允许回复!
引用 Microsoft.MSHTML设置复制到本地属性为Truec#的winform窗体中如何嵌套exe应用程序_百度知道
c#的winform窗体中如何嵌套exe应用程序
我想问怎样在我做的form窗体中打开外部的exe运行程序比如在我的form1中打开计算器程序但这个计算器程序属于form1窗体的子窗体不可以拖出form1窗体
需要使用MemoryStream类。但是在某个字段值为空的情况下。DialogResult是枚举类型,被调用窗体为FormChild.ExecuteScalar(),通过检查该枚举值.SqlDbType.Parameters,如一个整数或一个字符串:/course/4_webprogram/type=&&#47.photoImage);&lt.net/netjs/00.P@EmpID&quot:elementname=&&#47。程序的结构更加清晰.Value = strSelfIntro。通过在被调用窗体中实现一个静态函数供调用窗体使用可以简化窗体间的交互,要检测用户是否是单击了OK按钮从而关闭文件对话框.Int).diybl:if (&xs:string&quot:string&&#47.Value = iEmpID;&#47,然后使用 Add 方法添加该参数对象;&lt.Add(&quot.Image= new Bitmap(mstream):&lt.diybl,使用Typed DataSet读取该字段会引发系统异常,隐蔽被调用窗体的数据;/@EmpID&&gt:string&quot.DoSomething();minOccurs=&quot。如以下代码所示.Add(paramEmpID).photoImage:elementname=&xs,则可以执行 Command 对象的 ExecuteScalar 方法直接获取该值,就是直接使用 Add 方法添加参数:dbReader =另外一种方法比较复杂、Title和Telephone字段在数据库中可以为空值):elementname=&quot。具体方法如下: 这样就可以显示被调用窗体并由被调用窗体执行预设的功能。对于值可以为空的字段.NET自动生成的XSD文件在这里仅介绍第二种方法,即可知道用户是通过单击哪个按钮关闭对话框的.SqlDbT/(6)
解决Typed DataSet中空字段值的问题Typed DataSet可以大大提高开发的效率。例如,可以使用如下代码!=0)
mstream=new MemoryStream(Telephone&quot, S,System.ShowDialog()==DialogR0&quot。代码如下://www,从而加强封装特性;&gt。代码如下;&gt:MemoryStream mstream。第一种方法比较简单;xs。要解决这个问题有两种方法。编码示例如下,并同时指定参数的类型和值。要将照片直接显示在控件中;
使用 Command 对象的 ExecuteScalar 方法一般使用 Command 对象的 ExecuteReader 方法来将数据库的返回结果保存在 DataReader 中://www.Length,而非先存储在硬盘上再调入控件显示;/…}在主窗体中调用被调用窗体的DoSomething()方法.ExecuteReader()。如主窗体为FormM实现功能&#47:elementname=&quot:SqlParameter paramEmpID = new SqlParameter(&quot.D&lt,它需要先声明一个 SqlParameter 类型的对象;b = (byte)cmd.phptoImage是byte 数组类型;&&type=&DeptName&(5)
为 Command 对象添加参数的两种方法这两种方法其实是 Parameters 对象的 Add 方法的两种变体;type=&quot,XSD文件中原来的描述应该类似如下代码(其中DeptName(1)
用窗体的静态方法作为显示窗体和使用窗体功能的入口一个窗体往往会显示其他窗体以实现一定的功能
其他类似问题
您可能关注的推广
winform的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁C# WINFORM基础学习_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
喜欢此文档的还喜欢
C# WINFORM基础学习
W​I​N​F​O​R​M​基​础​学​习
阅读已结束,如果下载本文需要使用
想免费下载本文?
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢
20080份文档20643人阅读
先说说什么是打包部署和发布,对于c/s模式打包就是把我们的程序打成压缩包,打包将行李入包,发布是将打好的包展开.&&这样的好处一是保护版权和安装方面,二是打包会把cs文件编译成为dll文件,第一次运行的速度快,同时保护代码.三是打包发布可以节省控件,基本解决了安全性的问题,使得程序员的原codes不被泄漏.
说说打包和发布的区别,发布是没有安装文件的,要求服务器上必须安装上一个frontpage
server extension,发布是把页面文件aspx,资源文件放到网站里,代码编译到程序集中放到bin中.
打包部署,就是打成一个msi文件,运行后将在服务器上自动新建一个虚拟的目录,把文件的内容拷贝进去,拷贝的内容是你在打包中指定的.
下面就详细讲述VS C/S模式winForm打包部署.
安装项目的六个子项:文件系统注册表文件类型用户界面&自定义操作启动条件.
我们最常用的是文件系统了.
也就是“文件系统编辑器”
“文件系统编辑器”中的文件夹可以包含文件、项目输出和程序集。&项目输出表示解决方案中另一个项目所包含的项,并且可以包含以下内容:主要的生成输出(如可执行文件)、本地化资源、符号调试信息、内容文件(如
HTML 页)和项目源文件。其中的每个输出都称为项目输出组,项目输出组包含主要输出(也称为键输出)和任何附加的输出与依赖项。还支持快捷方式的创建,这样,您可以将文件放置在一个文件夹中,然后从桌面或另一文件夹中的快捷方式指向这些文件。
文件系统下有三个文件夹,&应用程序文件夹&,&用户的'程序'菜单&,&用户桌面&.
&“桌面文件夹”相当于“桌面”系统文件夹。&Windows会跟踪系统文件夹的位置,因此无论文件夹的位置或名称如何,放置在&“桌面文件夹”中的文件最后始终位于“桌面”系统文件夹中。
&应用程序文件夹&:表示要安装的程序需要添加的文件;可以在&“应用程序文件夹”下创建“应用程序数据”文件夹,这样不论&“应用程序文件夹”位于目标计算机上的什么位置,放置在“应用程序数据”文件夹中的文件都始终安装在同一相对位置。
&用户的'程序'菜单&:表示应用程序安装完毕,用户的&开始菜单&中显示的内容.
可以向注册表中插入键,在安装应用程序的同时创建注册表项.
右击可&添加文件类型&
“文件类型编辑器”包含一个窗格,其中显示了文件类型和操作的分层列表。&默认情况下,&“文件类型编辑器”包含一个&“目标计算机上的文件类型”节点;新文件类型可以添加到该节点的下面。
系统自动提供一组在安装期间显示的默认的对话框.根据正在构建的项目的类型,所提供的这组对话树中包含两部分,安装与管理员安装.安装部分包括终端用户运行安装程序时显示的对话框,而管理员安装部分包含系统管理员将安装程序上传到某个网络位置时显示的对话框.如果想要构建一个没有用户界面的安装,只需要在对话框树上删除安装部分中的所有对话框.或者从一组可用模版添加到安装项目中.
使用启动条件编辑器来定义成功运行安装所必须的条件.例如,特地你个版本的操作系统,配置启动条件来搜索目标计算机上的某个特定文件\注册表\或组件,在安装时进行评估并按照启动条件编辑器中所示的顺序执行.
自定义操作:
&自定义操作&提供了一种在安装结束时执行任务的机制。例如,您可能希望在安装应用程序之前先配置好数据库,此时您可以用自定义操作来完成数据库的创建。自定义操作构建为单独的&&.dll&&或&&
.exe&&文件,然后使用自定义操作编辑器添加到项目中,其中这些操作与不同的安装阶段有关。自定义操作编辑器包括几个单独的文件夹,用于放置执行&& Install、Commit、Rollback或Uninstall&任务的二进制文件。
创建新部署项目.
在&文件&菜单上指向&添加&,然后单击&新建项目&.
我们随即出现的&添加新建项目&的对话框中,打开&项目类型&窗格中的&其他项目类型&节点,打开&安装和部署项目&,在选择&Visual
Studio Installer &&
3.在&模版&窗格中,选择要创建的部署项目的类型.vs为我们提供了四种类型的部署项目提供了模版:合并模版项目安装项目
web安装项目和CAB项目.
这四种模版,
安装项目 主要是通过使用InstallShield 2010 Limited Edition来创建、生成并打包windows应用程序和服务.
合并模块项目安装,可以利用&合并模块&项目将文件或组建打包到单个模块中,以便共享此模块.产生的.msm文件可以包含任何其他部署项目中.web安装,为web应用程序生成安装程序,web安装项目的文件安装在web服务器上的virtual
Root 目录中.
CAB项目,创建cab文件,使用CAB项目可以从Web服务器下载到Web浏览器的ActiveX组建进行打包.
在这里我们使用的是&安装项目&模版,最终生成的是.msi文件,包含应用程序、任何依赖文件以及有关程序的信息,如注册表项和安装说明等.当msi文件在另一个台计算机上分发运行时,安装失败,计算机则会返回到安装前的状态.
向解决方案中添加现有的部署项目
在&文件&菜单上指向&添加&,然后单击&现有项目&.
添加了解决方案sln的文件.
将windows的应用程序添加到安装程序中.
在我们建立一个&安装项目&后,你会看到这样的三个文件夹.(在文章的开始时已做讲述.)
这三个文件夹依次是:
&应用程序文件夹&:表示要安装的程序需要添加的文件;
&用户的'程序'菜单&:表示应用程序安装完毕,用户的&开始菜单&中显示的内容,一般这个文件夹中,需要创建一个文件用来存放:应用程序.exe和卸载.exe.
&用户桌面&:表示这个应用程序安装完,用户的桌面上的创建.exe的快捷方式.
在应用程序文件夹节点右击,指向&文件&,添加要打包的文件,添加的文件一般是程序的Debug目录下的文件;
在应用程序文件夹节点右击,指向&添加&,然后单击&项目输出&.
在列表中选择&主输出&组.在&配置&框中选择&(活动)&.单击确定.
我们可以看到自动加载的依赖项.
为启动条件设置初值.右击我们的安装文件,选择&属性&
这样安装包就会打包.NET FrameWork,在安装时不会从网上下载.NET&
FrameWork组件;但是安装包会比较大。
在&生成&菜单上单击生成.
以上便是完成了基本的打包.
可选的部署功能.
为基于windows的应用程序创建快捷方式.
我们在&应用程序文件夹&节点下选择应用程序的主输出,右击,选择创建主输出的快捷方式.
右击属性窗口,或F4显示该快捷方式的属性菜单栏.可以为启动系统的快捷方式选择恰当的图表.
双击进入添加图标的窗口.
为我们的.NET程序创建一个卸载程序,并在桌面上显示卸载程序的快捷方式.
在&应用程序文件夹&中添加文件,文件位置:&C:Windows\System32\Msiexec.exe&或直接搜索该文件名.
简要说说,系统进程,是WindowsInstaller的一部分。用于安装Windows
Installer安装包(MSI),对系统的正常运行是非常重要的,一般在运行Microsoft Update安装更新或安装部分软件的时候出现,占用内存比较大。
同样我们要创建该系统进程exe的快捷方式,
我们的快捷方式如果是在桌面显示的就拖动到&用户桌面&文件夹.如果在开始菜单中显示的,就拖动到&用户的'程序'菜单&文件夹中.&
点击安装项目,F4显示安装项目的属性
vs中会给出提示该属性的作用.找到productCode属性,指定应用程序的唯一标识符.复制这个标识符到黏贴板.
粘贴卸载快捷方式属性栏的命令行参数,在前加上/X空格.&&
这里还在要说说给我们的安装程序添加启动条件.
此次步骤是检查目标计算机上是否安装了,Internet Explorer 5.0或更高版本,如果未安装所需要的文件,将停止安装.
添加启动条件来检查Internet Explorer版本(可选)
在&解决方案资源管理器&中选择我们的安装程序lfsfxyComputerSystem
在&视图&菜单上指向&编辑器&然后单击&启动条件&
默认的依赖项NET
Framework,且无法删除,我们在这里选择如下.
我们可自行添加启动条件.
右击&启动条件&文件夹,&添加启动条件&,可以自定义添加了.
再次生成解决方案.生成解决方案后,我们可以看到,debug文件夹中就是我们的安装包.
在这里还是要说说这里面msi和exe两个安装程序的区别.关于具体的& &&
msi是Windows installer开发出来的程序安装文件,它可以让你安装,修改,卸载你所安装的程序.说白了msi就是Windows installer的数据包,把所有和安装文件相关的内容封装在一个包里了.
setup.exe也允许你安装程序,但程序员在开发setup.exe的时候要比开发setup.msi困难的多,需要人工编写和安装,修改,卸载相关的很多内容.而msi把这写功能都集成化了,易于开发WINDWOS程序安装包.
如果我们选择了安装程序,&属性&--&&系统必备&,
添加了安装系统必备,就会把系统必备的安装包也会打包在debug文件夹中.在我们的debug中就有一个.NET&FrameWork的安装包.
在开始文件夹中.会看到我们的卸载.
在桌面有我们要显示的程序启动的快捷方式.
vs环境中自带报表使用过程详解:
vs环境中生成的文件夹类型详解:
vs环境中快捷键高效使用详解:请您继续关注!
参考:/souso/archive//164571.html
更多探索见vs帮助:http://127.0.0.1:47873/help/1-4924/ms.help?method=page&id=02CBCE50-6FC2-4B89-BC32-&product=VS&productVersion=100&topicVersion=100&locale=ZH-CN&topicLocale=ZH-CN
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:208523次
积分:4426
积分:4426
排名:第2626名
原创:127篇
评论:906条C#的winform生成.exe步骤
1.打开要打包的“.lsn”文件,在“解决方案资源管理器”中随便打开一个窗口
2.菜单栏“文件”---&“添加”---&“新建项目”
点击“项目类型”---&“其他项目类型”---&“安装和部署”,再在“模板”点击“安装项目”,点击“确定”
(2和3可变为:右键单击Solution Explorer中的“Solution
'numSort'”--&Add--&new
Project--&Setup Project)
4.在“文件系统File System on Target Machine”中点击“应用程序文件夹Application
Folder”,右边框变空白,在空白处右击鼠标,“添加”---&点击“项目输出”,出现一个对话框,点击“确定”。
5.再右击鼠标,“添加”---&点击“文件”,选择文件夹中的“bin”文件中的“Debug”文件中的“.exe”,把“.exe”打开。
添加一个msiexec.exe进去,这个文件在c:\windows\system32文件夹下,添加进去以后,为了让他更像个卸载程序,把他的名字改成"Uninstall.exe",当然这个关系不大,改不改都行。
6.单击“文件系统”中的“用户的"程序"菜单”,在右边空白处右击鼠标,点击“创建新的快捷方式”,把应用程序文件夹中的“.exe”文件选上,点击确定。
7.单击“文件系统”中的“用户桌面”,操作如上一步骤。
8.然后右击左边的"应用程序文件夹"打开属性对话框:将属性中的"DefaultLocation"的路径中的"[Manufacturer]"去掉,不然的话做好的安装程序默认安装目录会是"C:\Program
Files\你的用户名\安装解决方案名称";
9.然后打开解决方案管理器,右击你的解决方案名称,选择属性:打开的属性页中,选择"系统必备",在打开的系统必备页中,在"指定系统必备安装组件的位置"中选中如下选择项:从与我的应用程序相同的位置下载系统必备组件。选上以后,在生成的安装文件包中包含.NetFramework组件
8.点击菜单栏中"生成"中的“生成Setup1(包名)”,等页面左下角显示"生成成功"即可。
9.&关于"卸载"功能的添加
上面只介绍了简单的生成安装的方法,但是在VS2005下并没有直接生成卸载程序的功能,所以我们只好用msi来实现了,操作方法如下:
然后创建一个快捷方式,放到"开始-程序"中,接下来我们要做的就是查找这个部署项目的ProductCode了,鼠标左键单击项目名称,记住是左键单击,然后点击属性标签,注意:不是右击的属性,这个区别很大,这时你就可以看到ProductCode了。
然后打开你创建的那个快捷方式的属性对话框,在Aguements属性中输入"/x
{ProductCode}",好了,然后点击"生成解决方案"即可生成带有卸载功能的安装程序了。(第9步尝试没成功)
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。}

我要回帖

更多关于 winform打开文件夹 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信