自己制作了一个winform应用程序,想和.netframework的安装程序打包成一个安装文件,请注意:是一个文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自己制作了一个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 我也想过这个问题怎么搞。。可是想想就算你打包成一个文件了。那又如何。?还不是要安装。? 还不如想想怎么重根本解决问题呢。追问咱俩要求不一样。打包成一个要安装的,就已经能满足我的需求了。现在就是不能变成一个
追答袄。。 那这个我帮不了你了。。不好意思。。 如果是想要一键安装的话还是可以实现的。但是搞到一起就不太懂了。。不好意思。
开源自己编写的半人工标注平台PaddleOCRLabel(.NET Winform版本)
大家好,
我是博客园的老用户了,许久不做.NET技术了,从2013年起,开始从事App技术,写过书,在Linux上搭建区块链,用GO写智能合约,使用nodejs搭建过微服务,用python写过爬虫,写过微信聊天机器人。
人到中年,已经写不出20多岁时意气风发的激扬文字了。
最近开始从事历史类工具的开发,以及人工智能,尤其是OCR技术,又重拾C#和winform的老本行,做了一个半人工标注平台PaddleOCRLabel,在gitee上开源,地址是:https://gitee.com/BaoJianQiang/paddle-ocrlabel
写这个软件只用了一周时间,很多遗忘的技术,上网搜一下,改一改代码,基本就能为我所用。写了17年代码了,这是最直接的体会。
再比如说,要做一个操作回滚的功能,用命令模式或备忘录模式,也是得心应手,这也是08年开始研究设计模式的成果。
比较感慨的是,.NET生态真的不是很繁荣。举一个例子,我这个软件里面要做类似于PhotoShop的圈锁和浮层,竟然找不到好用的第三方库,只能直接使用最原始的GDI+绘制,效果不是很理想。我隐约记得有个.NET仿照PS做的Paint.NET开源项目,竟然官网已经不提供下载了。只能去一些网站付费下载,打开才发现是很早的版本,现在的VisualStudio根本打不开。
再聊聊我步入ai这个大舞台的初步感受,我至今也没入门这个领域,只是机械性的知道tensorflow和pytorch搭建模型的那些代码,但是对于文字和图像转变成数字矩阵然后大量训练就能得到结果,还是摸不着头脑。
看一下这个开源项目的界面吧,如下图所示:
这个软件哦,其实还没全做完,因为要和百度paddleocr合作,所以只能使用百度的服务。
接下来,会在此基础上,开发出更强大的一个项目,扫描一张图片,同时从腾讯、百度、阿里、科大讯飞这几家公司的ocr服务,返回标注结果,供用户选择,这就是商用软件了。
此外,我上个月还写了一个一键生成的工具,可以把pdf直接转换为ocr识别后的文本,软件界面如下图所示,过段时间我也会开源出来:
我的一个长期愿景是整理古籍,把古籍中的文字搜集为一个很大的历史资料库,支持全文索引,如下图所示(只截取了两晋十六国和民国的截图,想看其他朝代的可以私聊),是我花了一年时间做的一个软件,通过这个内容类收集软件,可以快速把历朝历代的人物的传记文章归类,可以快速阅读完一个朝代的历史,这是我的初衷:
把这些工具结合在一起,就是一个非常牛逼的纸质书籍转文本的一揽子解决方案。我主要针对古籍,因为这块没有版权的问题。
最后,因为咱们这个技术社区做.NET的人多一些,所以希望各位winform绘图高手,以及python多线程高手,有兴趣可以参与到我这个开源项目中来。
谢谢
以上是关于自己制作了一个winform应用程序,想和.netframework的安装程序打包成一个安装文件,请注意:是一个文件的主要内容,如果未能解决你的问题,请参考以下文章
想用winform制作一个闹钟,实现将自己下载音乐作为闹钟铃声