SetupFactory简介

这是Indigo Rose(蓝玫瑰)公司开发的一套打包-补丁解决方案的补丁工具,相比Setup Factory,他的知名度似乎不太高,网上也很少找到相关资料,但是真的很简单实用。

1.安装

安装部分请自行下载,下一步-完成。

2.创建项目

2.1打开Visual Patch

有四个选项:创建新项目、打开已存在项目、恢复最后一个打开项目、退出。

这里选额第一个.

2.2录入信息

2.3增加版本

连续【下一步】到这里,建议把需要打包的文件按照版本文件分好,并且1.0.0.0一定是初始的安装文件,后面的版本才算是补丁,而且要求至少有两个版本。

点击【Add】后,会弹出版本框,根据需求设置版本号,后续会默认自动+1.设置补丁文件夹,以及Key File,这个Key File很关键,可以设置多个,但至少设置一个,必须在安装目录里的文件(否则补丁包会找不到历史版本),而且是在安装运行后,不能变更的文件,比如INI、LOG等文件都不行,最好是安装目录的.dll或.exe文件,因为这个工具包是根据Key File的MD5来查找确认当前安装目录的历史版本。

2.4查找历史版本

这里主要有三个选项:当前目录、注册表、文件搜索,建议只选择注册表,和我们之前的Setup Factory的设置相对应,因为第一个选项要求升级人员知道安装目录,如果是客户升自己升级,不一定能找到。第三个属于全磁盘查找,效率不高。而注册表查询,简单高效,而且我们的安装包也实现了这个功能。在注册表查询界面录入后,工具会在Action中自动写好脚本。

2.5选项设置

默认打勾了四个,建议全打勾,毕竟不能热更新,如果程序在运行,肯定报错,做一个程序是否运行的检测,增加人性化。

2.6创建完成



创建完成后,版本和对应的文件列表就显示出来了。

3.项目设置

3.1版本.增加

在项目中添加新版本选项卡。这将打开新版本对话,您可以在此处指定版本的名称。

3.2版本.删除

从项目中删除选定的版本选项卡。确认对话将在选项卡删除之前显示。

3.3版本.重命名

重命名选定的版本选项卡。这将打开重命名版本对话,您可以在此处指定其新名称。

3.4版本.重复

制作所选版本选项卡及其内容的复制副本,并将其添加到您的项目中。在将版本选项卡复制并添加到项目后,您可以使用此菜单上的重命名选项重新命名它。

3.5版本.组织

打开"组织版本"对话,您可以更改版本选项卡的顺序。

注意: 您必须至少有两个版本选项卡才能使用此功能。

3.6文件.添加文件

打开"将文件添加到项目对话",您可以使用该对话将新文件添加到您的视觉修补程序项目中。您也可以使用插入键访问此菜单项。

注意: 当使用"此文件夹中的所有文件"和"此文件夹中的所有文件以及所有子文件夹"选项时,您必须在目标文件夹内。如果您只是突出显示目标文件夹,则不起作用。

提示: 您可以通过编辑位于可视补丁"数据"文件夹中的名为"_add_files_filters.txt"的文件来自定义文件筛选器以添加文件。

3.7文件.添加参考

打开文件夹浏览对话,您可以在此处指定要在项目中引用的文件夹。指定文件夹后,文件夹参考属性对话将显示您可以自定义其设置的位置。您也可以使用Ctrl+插入访问此菜单。

3.8文件.设置钥匙文件

为选定文件设置关键文件属性。关键文件是每个版本所独有的文件,用于识别用户系统中的应用程序版本。

3.9文件.清除钥匙文件

取消选定文件的关键文件属性。

3.10 文件.文件属性

如果选择单个文件,则打开单个文件属性对话。如果选择多个文件,则打开"多个文件属性"对话。如果选择单个文件夹引用,则打开单个文件夹参考属性对话。如果选择多个文件夹引用,则打开多个文件夹参考属性对话。您可以使用Ctrl+Enter访问此菜单项。

3.11 项目.设置

打开项目设置对话,您可以配置设置,如会话变量,项目主题,背景和各种高级设置。已经在创建的时候设置过了,这里还可以修改。

3.12项目.资源

打开资源对话,您可以找到项目资源,如入门文件,全球功能,包括和插件。当前项目用不到

3.13项目.屏幕

打开屏幕对话,您可以指定和管理在修补程序期间要显示的屏幕。默认设置就行,也可以加一些许可证、用户信息、补丁更新功能等。在每一个屏幕中,可以根据需求设置屏幕行动的脚本。

3.14项目.行动

打开"行动"对话,您可以创建修补程序期间需要的任何行动。这些行动将在项目活动中产生。根据创建项目时的设置,已经在On StartUp中自动创建了很多脚本了。

3.15项目.语言

打开语言对话,您可以在修补程序中定义要支持哪些语言。

3.16 关于Action(行动)的补充

什么是行动?

行动是您的视觉修补程序修补程序在运行时间可以执行的命令。每个行动都是一个离散的指令,告诉修补程序要做某事,无论是修改注册表、打开外部文档还是跳转到另一个屏幕。

换句话说,行动是让你的补丁做的东西。

还有很多事情,你的补丁可以做!

何时采取行动?

行动总是由事件触发。事件是在用户正在浏览修补程序时在运行时间发生的。这包括单击屏幕上的下一个按钮("下一个"屏幕事件)。

我在哪里可以找到这些事件?

事件将作为行动编辑器上的选项卡显示。补丁中有两种类型的事件:项目事件和屏幕事件。以下是屏幕事件示例:

如何添加行动?

如上所述,可以在几个地方添加行动。

可以通过从计划菜单中选择项目>行动 添加到项目事件中。

可以通过选择屏幕属性对话的行动选项卡将行动添加到屏幕事件中。

打开行动编辑器后,您可以直接键入行动,或单击"添加行动"按钮,使用"新行动"向导完成整个过程。

如何编辑行动?

添加行动后,您可以以与 Word 中段落相同的方式编辑其文本。

或者,您可以双击行动上的行,以便使用"行动属性"对话来编辑它。

4.生成设置和生成



选择生成的目录和文件名,这个在生成设置里也是可以设置的。



选择要打补丁的版本,一般建议全部打上,并且一致延续下去。如果总共有0、1、2、3、4、5个版本,有两家客户分别安装了2、3两个版本,那么这次统一更新的话,就会在补丁时,根据Key File找到当前版本,直接补丁剩下的(3、4、5)和(4、5)版本了。如果有定向跳跃式补丁,那就有选择性的选择版本打包。

再次重申:Key File,可以设置多个,但至少有一个,且是改安装目录内的文件,否则补丁程序及时通过注册表找到了安装目录,也会因为找不到历史版本文件而提示系统未安装软件。可以仔细看一下自动生成的行动上的脚本,有明确的查找和判断代码的。

.NET第三方补丁工具(Visual Patch)常用手册的更多相关文章

  1. Cocos开发中性能优化工具介绍之Visual Studio内存泄漏检测工具——Visual Leak Detector

    那么在Windows下有什么好的内存泄漏检测工具呢?微软提供Visual Studio开发工具本身没有什么太好的内存泄漏检测功能,我们可以使用第三方工具Visual Leak Detector(以下简 ...

  2. Oracle EBS使用adpatch工具打patch过程【Z】

    Oracle EBS使用adpatch工具打patch过程 从Metalink下载补丁 登陆到Metalink(https://support.oracle.com),Oracle内部用户可以使用AR ...

  3. Cocos性能优化工具的开发介绍Visual Studio内存泄漏检测工具——Visual Leak Detector

    然后,Windows下有什么好的内存泄漏检測工具呢?微软提供Visual Studio开发工具本身没有什么太好的内存泄漏检測功能.我们能够使用第三方工具Visual Leak Detector(下面简 ...

  4. Java虚拟机性能监测工具Visual VM与OQL对象查询语言

    1.Visual VM多合一工具 Visual VM是一个功能强大的多合一故障诊断和性能监控的可视化工具,它集成了多种性能统计工具的功能,使用 Visual VM 可以代替jstat.jmap.jha ...

  5. R12.2常用手册

    >>Related Information Sources这本书包含在Oracle电子商务套件文档库中.如果该指南将您引用到其他Oracle电子商务套件文档中,只使用这些指南的最新版本12 ...

  6. 360在线网站安全检测,web安全测试AppScan扫描工具,XSS常用的攻击手法

    360在线网站安全检测,web安全测试AppScan扫描工具,XSS常用的攻击手法 如何做好网站的安全性测试 360网站安全检测 - 在线安全检测,网站漏洞修复,网站后门检测http://websca ...

  7. Visual Studio 常用快捷键(一)

    最近看到很多同事用 VI 来开发Ruby,Python脚本. 编辑代码全部用的是快捷键,效率很高. 其实Visual Stuido也有非常多的快捷键,熟练运用后,能大大提高工作效率. 本文介绍一些最常 ...

  8. 【重点突破】——第三方绘图工具FusionCharts.js的使用详解

    一.引言 项目组中,经常会因为绘制图表的繁杂度,衡量会不会使用第三方绘图工具,如果自己做很困难,成本使用高于第三方绘图工具库,就会使用.很多人使用的是Chart.js,因为它是免费使用的,不过,缺点就 ...

  9. Microsoft Visual Studio 常用快捷键总结

    table tr:nth-child(odd){ background: #FFFFCC; } table tr:nth-child(even){ background: #FFFF99; } Mic ...

随机推荐

  1. 被swoole坑哭的PHP程序员 (转)

    本文主要记录一下学习swoole的过程.填过的坑以及swoole究竟有多么强大! 首先说一下对swoole的理解:披着PHP外衣的C程序.很多PHPer朋友看到swoole提供的强大功能.外界对其的崇 ...

  2. 微软商业智能系列(一)初识微软BI

    随着移动互联网.云计算.物联网和大数据技术的广泛应用,社会已经迈入全新的数据时代.掌握数据资产,进行智能化决策,已成为企业胜出的关键.越来越多的企业开始重视数据战略布局,重新定义自己的核心竞争力,从数 ...

  3. 5.Java流程控制

    所有的流程控制语句都可以相互嵌套.互不影响 一.用户交互Scanner Scanner对象 之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户 ...

  4. python pycharm 正则表达式批量替换

    {accept:application/json, text/plain, */*,accept-encoding:gzip, deflate, br,accept-language:zh-CN,zh ...

  5. 解决clipboard.js在移动端复制失败的问题

    1.前沿 在项目中使用clipboard.js插件去实现点击按钮,复制一段网址到剪切板的功能.功能做好后,一开始无论这pc端还是移动端都能正常使用.突然某一天测出了一个bug:移动端复制失败,pc端是 ...

  6. python -- 结构数据类型(列表、元组、集合、字典)

    一.列表 列表表示一组有序的元素,这些元素可以是数字.字符串,也可以是另一个列表. # ----------------------------------------# 列表(list):一组有序的 ...

  7. 在 Golang 中实现一个简单的Http中间件

    本文主要针对Golang的内置库 net/http 做了简单的扩展,通过添加中间件的形式实现了管道(Pipeline)模式,这样的好处是各模块之间是低耦合的,符合单一职责原则,可以很灵活的通过中间件的 ...

  8. CF1032G Chattering

    CF1032G Chattering 题意 思路 对于每一个位置,它转移的范围是确定的. 对于一段可以走到的区间,我们可以求出区间中所有点再能走到区间范围. 于是这个就可以倍增进行转移. 如何快速求出 ...

  9. 离散数学-传递闭包(POJ3275)

    就是n的元素给定m个关系求他们之间的关系. eg.  ∵a>b and b>c ∴a>c emmmm 若要知道n个元素的绝对关系,则需知道C(n,2)个关系. 例题:POJ3275 ...

  10. 解决proto文件转换时提示“Note that enum values use C++ scoping rules, meaning that enum values are siblings of their type, not children of it. ”

    前言: 想将.proto文件转换成.pb文件时一直报错,一开始以为是文件编码格式的问题,后来将文件改成windows下的utf-8格式后,又出现了新的报错(见下图).百度了很久,才找到解决方法. &q ...