补丁制作

u9二开完成之后就要制作补丁发布到服务器啦,我把补丁制作的流程记录一下,供你参考。

1、还原制作补丁所需要的数据库

将补丁库.bak,还原到数据库中。


2、配置environment.xml文件

还原数据库之后,然后配置BuildTool目录下的environment.xml文件。

修改数据库连接信息,指向刚才还原的数据库U9Build25_YX_DEV。

只需要改数据库连接信息就行了,其他参数不用改。

<?xml version="1.0" encoding="utf-8" ?>
<environment>    <system>    <connectionString>packet size=4096;user id=sa;Connection Timeout=150;Max Pool size=1500;data source=localhost;persist security info=True;initial catalog=U9Build25_YX_DEV;password=123456</connectionString></system>    <view><mapper type="UFSoft.UBF.View.Query.MetadataDomainMapping, UFSoft.UBF.Business.Adapter" /><creator type="UFSoft.UBF.View.Query.Adapter.TranslatorCreator, UFSoft.UBF.Business.Adapter" /></view><Path><Metadatalib>d:\</Metadatalib></Path><path><ubfbin>d:\ubf2.0\bin</ubfbin><ubfstudio>d:\ubf20\visual studio</ubfstudio><ubfresources>d:\ubf20\resources</ubfresources><approot>d:\u9app</approot></path>
</environment>

3.配置desktopBuild.xml 文件

同样在BuildTool文件夹下找到desktopBuild.xml 文件。

version:u9的版本号,我这里是6.0
ProductPath:U9 Portal 文件夹所在的目录,也就是u9的安装目录
ProjectPath:补丁生成文件放置的目录
Module:补丁的模块名,可以自定义,一般以Cust开头

其他参数不需要改。

<?xml version="1.0"?>
<configuration version="6.0"><!--U9,HR,CD,TR !--><Domain>CD</Domain><PatchBaseVersion>0</PatchBaseVersion><ProductPath>D:\yonyou\U9V60</ProductPath><ProjectPath>D:\yonyou\U9Project\MKGD\补丁</ProjectPath><FilePath>D:\</FilePath><!--重新构造时是否清空文件夹Y,N--><DelOnRebuild>Y</DelOnRebuild><CustomerNo>TO_BE_Cust</CustomerNo><IsCustomer>1</IsCustomer><Module>Cust_CompanyName</Module><SpNumber>0</SpNumber><IsSP>0</IsSP>
</configuration>

4.新建方案

打开 UFIDA.UBF.Build.Engine.DesktopBuild.exe 程序,点击新建方案按钮,新建一个方案。

然后点击构造按钮:

构造完成后,会在ProjectPath指定的目录下生成很多文件夹:

各个文件夹的说明如下:

  • AssemblyInfo:放置Setup.bdxml,此文件是各个模块装配文件的集合
  • Files: 放置所有需要拷贝的文件,包括所有BE/BP/UI/SV的dll,UI/BE插件的配置文件,所有需要拷贝到服务器Portal下的文件
  • Metadata: 模型构造生成的文件,放置与原数据脚本一起生成的bulk文件,BE/BP/UI/SV生成的所有bulk文件(默认是生成在UBF下的,默认路径:D:\yonyou\UBFV50\U9.VOB.Product.Other)
  • PostSQL:所有需要执行的脚本
  • PreScript:是预置脚本的集合,即需要在补丁刚开始部署到服务器上时需要优先执行的脚本
  • ReportMD:放置报表模型和打印模型,所有xml混合放在一起,不要建立子文件夹存放不同模型 (构造生成的建表脚本不需要放入补丁包中,否则会清除掉数据库表原有数据)

5.复制文件

我做的是BE插件,只需要把BE插件项目编译好的dll、pdb文件和sub.xml文件复制到Files文件夹下就行了:

6.生成安装信息

点击生成安装信息按钮:

操作成功后会在对应目录下生成packageinfo.xml文件。

打开xml文件修改一下说明信息。

不知什么原因,我生成的packageinfo.xml文件中dir是空的(难道是配置问题?),我手动添加了下dir路径:

dll和pdb文件是放在\Portal\ApplicationLib路径下的,

sub.xml文件是放在\Portal\bin路径下的。

<?xml version="1.0" encoding="UTF-8"?>
<package><baseinfo code="CD6.0.Cust_Canaan.1002208310000003" name="CD6.0.Cust_Canaan.1002208310000003" type="" version="6.0" releasedate="" desc="" question="" doc="" basebuild="" referenceBuild="20090918002" IsCustomer="1" CustomerNo="TO_BE_Cust" Domain="CD" SPNum="0" Modules="Cust_Canaan," DependModules="," IsSP="0" /><description>说明</description><descriptiondetail>标准采购插件提交审核时写中间表</descriptiondetail><filelist><file dir="\Portal\ApplicationLib;" exeflag="" servertype="0" filename="UFIDA.U9.Cust.Canaan.PurchaseOrderPlugBE.dll" filetype="0" /><file dir="\Portal\ApplicationLib;" exeflag="" servertype="0" filename="UFIDA.U9.Cust.Canaan.PurchaseOrderPlugBE.pdb" filetype="0" /><file dir="\Portal\bin;" exeflag="" servertype="0" filename="UFIDA.U9.Cust.Canaan.PurchaseOrderPlugBE.sub.xml" filetype="0" /></filelist>
</package>

7.生成补丁

点击生成补丁按钮生成补丁。


8.安装补丁

打开系统管理工具客户端,点击补丁下载与安装侧边栏,然后点击导入,添加自己的补丁。

添加完后点提交按钮:

然后选中你添加的补丁,安装就行了:


最后

配置文件只需要配置一次,以后直接使用就可以了,其实打补丁本质上就是把各种dll、xml文件复制到服务器不同的文件夹之下而已,我们完全可以自己手动复制,不需要打补丁。

不过打补丁的好处是,可以记录历史的补丁数据,什么时候更新了什么东西,一目了然。

如果全是手工复制文件到服务器目录的话,时间久了就会搞不清楚以前更新了什么内容,不利于系统维护。

所以,我还是建议通过打补丁的方式更新系统。

U9二次开发之补丁制作相关推荐

  1. ABAQUS 二次开发 简单插件制作

    本文主要使用python开发,为了让大家简单认识这个过程,通过介绍一个较为简单的插件制作过程,希望大家能对二次开发简单过程有个了解,当然我也是刚刚接触这个,很多地方还在摸索,只是记录这个过程,希望对后 ...

  2. U9二次开发之BP定时任务插件开发

    采购订单BP定时任务插件开发 最近我们公司要做采购订单审批和OA的集成,也就是把u9的审批流程搬到OA里去做.当业务员点击标准采购提交按钮的时候,把采购订单的信息触发到OA流程,在OA里做审核,OA审 ...

  3. 网站二次开发如何防止别人打包源码_企业网站制作前需注意的几个事项

    随着互联网的普及,企业网站已经成为了企业营销推广的基础,更是品牌建设中不可或缺的部分,但是网站也不能随便做.做网站之前需要注意下面几个事项,如果没有处理好,没有实施到位,那即使网站制作好后,也起不到应 ...

  4. 使用NSIS制作多版本Revit插件(Revit二次开发)

    因为VisualStudio中微软官方的程序打包工具,无法实现Revit多版本插件的制作,所以我选择了NSIS来制作多版本插件. 一.使用NSIS向导创建脚本 1.1.打开NSIS的VNISEdit( ...

  5. Revit 二次开发之安装包的制作

    做了一段时间的Revit二次开发了,也做了好几个插件,最终都不得不面临一个问题,交付客户使用,那么问题来了,客户端那边如何部署呢,最简单的方法就是让客户找到Revit插件加载目录,将我们制作的插件dl ...

  6. PowerMIL二次开发外挂制作视频教程-易语言编程15.7小时

    PM 二次开发外挂制作视频教程-易语言编程15.7小时 链接:https://pan.baidu.com/s/1DBNvygOVPnTEzPkopFAwqg 提取码:dx62

  7. Lua快速入门篇(XLua教程)(Yanlz+热更新+xLua+配置+热补丁+第三方库+API+二次开发+常见问题+示例参考)

                            <Lua热更新> ##<Lua热更新>发布说明: ++++"Lua热更新"开始了,立钻哥哥终于开始此部分的探 ...

  8. 韩顺平主讲织梦dedecms 5.7二次开发实战仿站模板制作视频教程

    个人看后感觉 最好的  dedecms 5.7二次开发视频教程 由于原文件太大,上传到cdsn不方便,就传到网盘了 下载地址 传智播客 PHP教程 韩顺平 dedecms 项目开发笔记.rar 下载地 ...

  9. redash二次开发和制作镜像

    简介: 上一篇文章,我们简单的测试了一下服务器环境和docker基础镜像.并没有涉及我们自己编写的flask python程序. 现在,我们就要把我们自己的flask程序,放进docker镜像. 但是 ...

最新文章

  1. 第 138 章 Spark
  2. (运维)VMware-vCenter-Server-Appliance-5.0安装与部署
  3. win7系统Myeclipse下切换SVN用户
  4. centos6.5编译安装php7
  5. 让FX1.1的NotifyIcon支持BalloonTip(2)
  6. 高并发编程基础(java.util.concurrent包常见类基础)
  7. 深入Spring Boot:利用Arthas排查NoSuchMethodError
  8. k8s学习(一)——kubectl与api-server之间的交互核心过程
  9. nrm : 无法加载文件 E:\node\node_global\nrm.ps1,因为在此系统上禁止运行脚本
  10. 单点登录有关跨域的点
  11. FastAPI用户安全性解决方案
  12. 表格如何调出好看的样式?
  13. pdf转jpg的在线与用转换器的转换方法
  14. 3d打印英语文献_3D打印NiTi形状记忆合金管的扭转性能研究
  15. 野火指南者开发板移植 lvgl 库
  16. 爬虫---数据的提取
  17. html5流媒体多浏览器,PearPlayer流媒体播放器 v2.5.6(开源HTML5流媒体播放框架)
  18. mtk android 关机充电,MTK充电开机关机过程
  19. 学期博客:学习进度条
  20. 在祝贺提拔的饭局上当众敬酒,别说“感谢领导”,高手都懂这4点

热门文章

  1. 基于对抗互信息学习特征解耦的零样本语音转换|INTERSPEECH 2022
  2. 浪潮信息AIStation联合智源研究院 帮助用户灵敏获取本地AI算力
  3. 【实习面经】一口气面完了字节、陌陌、云从,我发现面试官原来是这样问问题的?
  4. [lintcode]入门
  5. 【设计模式十六之装饰模式】装饰者模式
  6. 码云与与GitHUB的对比及使用码云使用细节
  7. 这个表是怎么回事??? [问题点数:50分] 收藏
  8. 深入浅出HTML(针对后端攻城狮)
  9. sql定义表时,int(10)是什么意思?
  10. Dubbo的使用和原理