.net程序部署(setupFactory)
vs 自带的安装打包 实在弱爆了,点都不好用。一直一直在寻觅一个靠谱点的打包工具。在网上寻寻觅觅 寻寻觅觅 功夫不负有心人,终于让我找到了。setupFactory 我用的是 8.0版本 。
首先要添加.net 2.0引用 ,默认没有 我们要先把添加进去。他是通过xml文件来配置的 所以我们首先找到Dependencies 目录 先得增加一个dotnet20.xml文件。这是xml文件下载 。内容太多 都是些脚本 网上找的 ,经过我倒腾过后确实可以用。 看见脚本里面的目录没有:<File>#SUFDIR#\Dependencies\dotnet20\dotnetfx2.0.exe</File> 。不多说了 你得把dotnetfx2.0 也就是.netframework 2.0框架的安装文件拷贝到此路径下。这样做过后 生成的安装包就会自动 将.net框架 的安装 集成进去 如果 用户系统没有 会自动提示安装。其实没什么 不是现在都强调用户体验么 。这种无缝的操作 用户体验会好很多。
setupfactory 源于他的各种灵活的自定义操作 强大的脚本功能 可以说是中小型 这种软件 里 做得最好的。nstallsheld 太过庞大 还卖的死贵死贵的。
这个是入门 菜单之类的 就不说了哈 。闲话不多讲 ,档案窗口:

这里代表你所安装的程序目录 ,也就是说你想把哪些文件部署到目标计算机上去 ,直接将文件拖进去 或者 菜单 project->addfiles 都可以。双击添加的文件 可查看更改其属性。

在主执行文件的属性里。shortcut选项卡 直接勾选 desktop 复选框 。即可安装过程中在桌面创建其快捷方式。

左边有很多分组的作业操作菜单。这里只介绍主要的几个:
Files 进行档案操作的 ,添加文件 删除文件等。
Settings 各种基本设置 比如版权信息。
Screens 表现安装步骤的每一个屏幕,就是让你不停的点 下一步。然后允许你自行编辑每一屏的内容。
Actions 安装过程中的各个阶段 ,你可以编写一些脚本进行一些预处理。
反正我是从来没在actions里写过脚本 认为没太必要 ,都是直接在screens里写 一样的效果。
脚本编写 ,语法 什么的都很简单 有点类vb 。安装过程定义明确 安装前 ,然后Screens 一屏 点下一步 又一屏 衔接起来 ,安装后。这整个 称之为一个安装过程。定义的变量在 整个安装过程中都可用。变量跟VB一样的 可以直接写。
获取文本框的输入值 并赋给变量:
Port=DlgEditField.GetProperties(CTRL_EDIT_01).Text;
还有些特定的系统函数 获取日期 date ,字符串处理函数。还有写文本 文件函数。
最基本的 脚本命令 跳到下一步 ,跳到上一部:
Screen.Next();
这种编写方式和过程有点像flash ,通过脚本 控制 过渡动画。
跟着他自带的帮助来 会依次给你介绍 action editor 脚本 等东西。帮助也是非常的 详尽 非常的好 。这才是真正做产品 做事的态度。我就是看了那破英文帮助 一点一点的肯 就把我的安装包做好了。
下面我们启动setupFactory 选择startup new project ,填上我们的公司名称 等信息。然后选择我们需要打包文件的目录。然后在archive选择一个主执行程序。点 属性 ,在桌面创建快捷方式。

直接 点那个齿轮 building 就ok 了 就会生成setup.exe安装文件,这就ok了 , 确实 你神马都还没做 一个安装包就成了。
.net程序部署(setupFactory)的更多相关文章
- .net程序部署(mono方式)
某一次 我同事用了这个词 ,说这样才显得够专业 擦.把某某项目 部署到服务器上 .擦 不就是拷个文件过去运行么.月亮 还是绵羊 我搞不清楚了 咱英文不好,绵羊叫的声音?.你就叫我山寨程序猿 随意 一 ...
- deployment与Web应用程序部署
定义用于支持 Web 应用程序部署的配置设置. <deployment retail="true|false" /> retail属性:设置一个值,该值指定是否以发布模 ...
- 使用VS Code 开发.NET Core 应用程序 部署到Linux 跨平台
使用VS Code 开发.NET Core 应用程序 部署到Linux 跨平台. 前面讲解了VSCode开发调试 .NET Core.都只是在windows下运行. .NET Core真正的核心是跨平 ...
- IIS安装与MVC程序部署
最近在做访客系统,虽然说不是什么多大的项目,但麻雀虽小五脏俱全,使用EF Code First+Mysql+Frozenui响应式布局,感觉通过这个项目学到好多东西,Mysql的使用.EF映射Mysq ...
- SNF开发平台WinForm之八-自动升级程序部署使用说明-SNF快速开发平台3.3-Spring.Net.Framework
9.1运行效果: 9.2开发实现: 1.首先配置服务器端,把“SNFAutoUpdate2.0\服务器端部署“目录按网站程序进行发布到IIS服务器上. 2.粘贴语句,生成程序 需要调用的应用程序的Lo ...
- [翻译][MVC 5 + EF 6] 5:Code First数据库迁移与程序部署
原文:Code First Migrations and Deployment with the Entity Framework in an ASP.NET MVC Application 1.启用 ...
- C#程序部署到Android
C#是一种优秀的编程语言,语法之优雅,代码之简洁使得众多软粉多年来对她不离不弃. 但是如何将C#程序部署到Linux, Android等平台,这当然是得依靠众所周知的Mono. 本文Demo程序比较简 ...
- winform/wpf 程序部署
(1):一些发布方式 ClickOnce是什么玩意儿,这个问题嘛,在21世纪的互联网严重发达的时代,估计也没有必要大费奏章去介绍了,弄不好的话,还有抄袭之嫌.因此,有关ClickOnce的介绍,各位朋 ...
- Asp.Net Core 程序部署到Linux(centos)生产环境(二):docker部署
运行环境 照例,先亮环境:软件的话我这里假设你已经批准好了.net core 运行环境,未配置可以看我的这篇[linux(centos)搭建.net core 运行环境] 腾讯云 centos:7.2 ...
- Asp.Net Core 程序部署到Linux(centos)生产环境(一):普通部署
运行环境 照例,先亮底 centos:7.2 cpu:1核 2G内存 1M带宽 辅助工具:xshell xftp 搭建.net core运行环境 .net core 的运行环境我单独写了一篇,请看我的 ...
随机推荐
- PHP与JAVA构造函数的区别
早期的PHP是没有面向对象功能的,但是随着PHP发展,从PHP4开始,也加入了面向对象.PHP的面向对象语法是从JAVA演化而来,很多地方类似,但是又发展出自己的特色.以构造函数来说,PHP4中与类同 ...
- 深入.NET平台和C#编程总结大全
对于初学者的你,等到你把这个看完之后就更清楚地认知.NET和C#编程了,好了废话不多说,开始吧! ...
- java中易错点(二)
java,exe是java虚拟机 javadoc.exe用来制作java文档 jdb.exe是java的调试器 javaprof,exe是剖析工具 解析一: sleep是线程类(Thread)的方法, ...
- 初识JavaScript
JavaScript ECMA-262: 变量,函数,对象,数据类型....唯独没有输入和输出. Javascript:包含 ECMA-262,核心 BOM 浏览器对象模型, DOM 文档对象模型 什 ...
- 如何使用dos命令打开当前用户、当前日期、当前时间以及当前用户加当前时间?
1.dos命令安装mysqld --stall.启动net start mysql.进入MySQL数据库mysql -uroot -p后,输入select user();当前用户 select cur ...
- POJ1149 PIGS [最大流 建图]
PIGS Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 20662 Accepted: 9435 Description ...
- python-time 模块
1.时间戳是以秒为单位的浮点小数,时间戳以自1970年1月1日午夜到现在经过了的时间来表示 2.时间模块引入方式:import time 3.返回时间戳 time.time() 4.返回时间元组:ti ...
- Orcale 三层嵌套分页代码
select * from( select emp.*,rownum a from ( select * from emp ) emp where rownum<7) where a>3
- 微软“.Net社区虚拟大会”dotnetConf2015:关键词:.NET 创新、开源、跨平台
去年 11 月的时候,微软开源了 .NET CoreFX,然后是今年 2 月份的 .NET CoreCLR.自那时以来,已经有大约 3500 人在 GitHub 上进行了提交,而且贡献者的人数还在持续 ...
- DataTable转换成IList<T>的简单实现
DataTable的无奈 很多时候,我们需要去操作DataTable.但DataTable的操作,实在是太不方便了.Linq?lambda表达式?统统没有... 特别是对现有结果集做进一步筛选,这样的 ...