C# Winform项目打包问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# Winform项目打包问题相关的知识,希望对你有一定的参考价值。

我做了个小项目。然后打包后在比的机子上远行不了
报错:找不到指定的文件

我在打包时添加了文件,这些文件添加进来怎么是绝对路径,比如:我添加E盘下面的一个文件。然后打包后,安装运行会报错找不到这个文件

这怎么办,打包时一添加进来就是这路径好像不能改呀
机子上装了 。net3.5呀
打包时我添加debug 下面的文件
听他们讲是不是 生成时 要生成发布版Release 然后添加Release下面的文件
可是我用Release 生成项目。报错,第三方皮肤控件就报 找不到程序集

参考技术A 你从VS的项目资源管理器中找到那个添加的文件,添加到项目中,然后右键属性,改为RESOURCE,这样编译后会添加到项目中来,否则就是没有。追问

右击属性 把什么属性改为RESOURCE

参考技术B 那个可能是他的机子没有装.net framework之类的东东 ,你添加生成以后就不会有问题的,除非就是你的数据库连接配置没有修改吧 参考技术C 找到bin
里面有个debug文件夹
里面也别找了,把里面的所有文件别管有用没用的都给添加了
(除非你能分清哪个文件是必须的,里面的基本上都能用到)
就可以生成安装了
参考技术D 用什么打包的 intallshield ?追问

系统自带的呀

追答

在你要运行的电脑上 也要安装第三方皮肤

追问

可问题是,现在打包时添加进来的文件。打包后 安装运行找不到这文件
这路径有问题

如果说打包时添加E盘a文件
安装后运行如果E盘下没a这文件就会报错

本回答被提问者采纳

自己制作了一个winform应用程序,想和.netframework的安装程序打包成一个安装文件,请注意:是一个文件

不是一个安装文件+若干组件、补丁等

C#程序打包与部署
一).创建部署项目
1. 在“文件”菜单上指向“添加项目”,然后选择“新建项目”。
2. 在“添加新项目”对话框中,选择“其它项目类型”窗格中的““安装项目”。在“名称”框中键入 setup。
3. 单击“确定”关闭对话框。
4. 项目被添加到解决方案资源管理器中,并且文件系统编辑器打开。 里面包括3个文件夹:应用程序文件;用户的“程序”文件,用户桌面。右键点击应用程序文件,选择添加->文件。找到你所建项目生成的bin->debug.里面文件,全选,点击打开。
5、找到你的项目文件名.exe文件,右键创建快捷方式,将生成的快捷方式放到用户桌面文件夹
6、此时右键点击所建的安装项目,选择生成。便开始对安装文件进行打包。完成以后再这个项目的debug文件夹中,就可以得到setup安装包。打包成功!
7、如果还想做一个卸载文件,需要执行以下步骤。还是在用户程序文件里面添加文件,浏览c->windows-system32->msiexec.exe。添加该文件。
8、查看安装项目属性productcode 类似“F2B5B56B-6A26-4A95-A756-89EBF6F2CE64”。复制下来。打开刚添加的msiexec.exe的属性,在condition里面写:/x复制的productscode.
9、对msiexec.exe再建一个快捷方式,改个名字,放到:用户的“程序”文件 的文件夹中。再打包。用户安装完以后,在开始菜单-》程序-》项目名字就可以看到卸载文件了。

七).打包时加入卸载功能:
方法一:
1.在打包项目中添加文件msiexec.exe(一般可在c:\windows\system32\下找到)
2.在文件系统视图中选择应用程序文件夹,在msiexec.exe上按右键,选择创建快捷方式,重命名快捷方式为"卸载".
3.更改此快捷方式的Arguments 为"/x 产品id",产品id的值为打包项目的ProductCode属性值.
方法二:(推荐)
1.先生成安装包,记下ProductCode(选择解决方案资源管理器根目录如setup1,再查看属性标签,不是右键中的属性),下面要用到
2.用VS.net建立一个新的控制台程序uninst.exe文件
if(System.Environment.OSVersion.ToString().IndexOf("NT 5")>0)


Process.Start("msiexec", "/X492472A2-C9BA-46A3-9DB4-2FA098AD1D07");//改为自己的ProductCode

3.将控制台程序BIN目录的exe文件加入到打包程序文件中,在程序组创建uninst.exe的快捷方式
参考技术A 在VS中新建部署项目,项目中添加winform的项目输出,依赖选择合适的.netframework版本,在项目上右键属性,包文件,选择 在安装文件中,生成,即可。追问

说了半天你还是不看,真不知道你是复制的还是真没看懂

追答

你是说按这样的方式做成的安装包不是一个文件是吧,你可以把这样生成的安装包,用RAR压缩成自解压文件,然后选择解压到临时文件夹,自动执行setup.exe,就成一个文件了。

本回答被提问者采纳
参考技术B 可以打包成一个安装文件,但是不能和.net framework一起打包成一个安装文件。网上有一些高手以某些非常规方法能在某种程度上实现。但限制较多,并不太实用。 参考技术C 这个问题我也纠结了几天,最后还是觉得用专业的打包工具比较好。vs上的打包都是安装文件+若干组件、补丁。专业的打包工具就不会了。你上网找找,很多的 参考技术D 我也想过这个问题怎么搞。。可是想想就算你打包成一个文件了。那又如何。?还不是要安装。? 还不如想想怎么重根本解决问题呢。追问

咱俩要求不一样。打包成一个要安装的,就已经能满足我的需求了。现在就是不能变成一个

追答

袄。。 那这个我帮不了你了。。不好意思。。 如果是想要一键安装的话还是可以实现的。但是搞到一起就不太懂了。。不好意思。

以上是关于C# Winform项目打包问题的主要内容,如果未能解决你的问题,请参考以下文章

把自己做的C# winform应用程序打包为.exe安装程序怎么做?

在win7系统下开发的C# winform项目 打包后 在windows2003系统下无法打开,总是爆出如图所示

c#winform项目打包过后 运行打包项目就报下面的错 然后我不安装到C盘就不报这个错 是怎么回事 求高手

c# winform 打包问题

winform打包问题

自己制作了一个winform应用程序,想和.netframework的安装程序打包成一个安装文件,请注意:是一个文件