- 浏览: 303064 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
zhou363667565:
看到你的这个配置 有个地方有点问题:
< aop:po ...
spring ibatis 事务配置 -
wo17796452:
[b][/b][i][/i][u][/u]引用[*][img] ...
crowd Jira confluence 集成 -
wo17796452:
<input type="button&quo ...
crowd Jira confluence 集成 -
benbear2008:
这些类图呢?
Spring MVC框架类图与顺序图 -
TTLtry:
谢了 最近学习spring时候 却总是登不上官方网站 很多 ...
Spring 2.5.5 api 帮助文档 chm格式 下载
TortoiseSVN的MSI安装包是使用Windows Installer XML (WIX)生成的。关于WIX的语法在这里不做解释,有兴趣的可以在网上搜搜,资料很多。今天我们将通过修改TortoiseSVN源代码中WIX的配置文件,来实现TortoiseSVN英文安装包和简体中文安装包的合并,并指定TortoiseSVN的默认语言为简体中文。 整体思路 分析TortoiseSVN中文包的安装过程,我们可以知道,安装TortoiseSVN中文包就是在TortoiseSVN安装目录的Languages文件夹下添加如下文件及文件夹, (图一) 并在注册表“HKEY_CURRENT_USER——Software——TortoiseSVN”键下添加“DWORD 值”,名称:LanguageID,值:2052,基数:十进制。 根据这些分析我们将使用以下步骤来完成这个工作: 1. 在TortoiseSVN英文版安装完毕后,将图一所示文件拷贝至安装目录的相应位置; 2. 在注册表中添加“LanguageID”键; 准备文件 1. 生成TortoiseSVN安装包所需要的文件,可以通过编译TortoiseSVN源代码(具体方法见“编译TortoiseSVN源代码”)或在已安装TortoiseSVN的计算机上拷贝获得。 编译TortoiseSVN后生成的文件位于TortoiseSVN源代码根目录的“bin\release\bin”文件夹下。 可以在TortoiseSVN源代码根目录下运行“Nant msi”来测试生成MSI安装包所需文件都是否全部生成完毕,若有缺失,请重新编译TortoiseSVN,或者从已安装TortoiseSVN的计算机上拷贝相应文件至相应目录(Nant有提示那些路径缺少那些文件)。 若安装文件没有缺失,则可以在源代码的根目录的“bin”下,找到我们生成的MSI安装包,当然这只是最原始的英文安装包。 2. 为了能够将中文安装包和英文安装包合并,需要将图一所示文件(可在已安装TortoiseSVN中文包的计算机上拷贝)拷贝至源代码根目录的“bin\release\bin\LanguagePack_zh_CH”目录下。 经过以上步骤,生成中文安装包所需文件都已准备就绪,下面我们通过修改WIX的配置文件来完成这个中文安装包的制作。 修改WIX配置文件 本次我们要修改的WIX配置文件主要有以下三个: 1. FeaturesFragment.wxs:控制安装包中包含的可选及必选内容,在安装时供用户选择,如图二所示: 图二 2. Includes.wxi:为文件夹等生成一个GUID,在WIX中必须有一个唯一的GUID来确定一个内容; 3. StructureFragment.wxs:控制安装时在用户计算机上进行的操作。 它们都位于源代码根目录的\src\TortoiseSVNSetup目录下。 知道了它们的作用,我们大概分析下思路。在FeaturesFragment中添加中文安装包的Features,然后在StructureFragment中声明该Features需要完成的工作(拷贝文件及修改注册表)。 修改配置文件步骤如下: 1. 在FeaturesFragment的Fragment配置节下添加: <Feature Id="LanguagePack_zh_CN" Level="1" Title="LanguagePack_zh_CN" Description="Add LanguagePack_zh_CN" TypicalDefault="install" Absent="allow"> <ComponentRef Id="C__LanguagePack_zh_CN" /> <ComponentRef Id="C__zh_CN" /> <ComponentRef Id="C__RegistryLanguage" /> </Feature> 以上代码就声明了一个名为LanguagePack_zh_CN的Feature,并声明其包含了三个内容,若用户在安装时选择安装此Feature,则安装程序会到StructureFragment文件中找到相应的内容及操作。 2. 在StructureFragment文件中找到 <Directory Id="D__Languages" Name="Languages"> </Directory> 配置节,然后在其中添加如下代码: <Component Id="C__LanguagePack_zh_CN" Guid="$(var.GuidLanguagePack_zh_CN)" Win64="$(var.Win64YesNo)"> <File Id="F__TortoiseBlame2052" Name="TortoiseBlame2052.dll" Source="..\..\bin\release\bin\LanguagePack_zh_CH\TortoiseBlame2052.dll" DiskId="1" /> <File Id="F__TortoiseIDiff2052" Name="TortoiseIDiff2052.dll" Source="..\..\bin\release\bin\LanguagePack_zh_CH\TortoiseIDiff2052.dll" DiskId="1" /> <File Id="F__TortoiseMerge2052" Name="TortoiseMerge2052.dll" Source="..\..\bin\release\bin\LanguagePack_zh_CH\TortoiseMerge2052.dll" DiskId="1" /> <File Id="F__TortoiseMerge_zh_CN" Name="TortoiseMerge_zh_CN.chm" Source="..\..\bin\release\bin\LanguagePack_zh_CH\TortoiseMerge_zh_CN.chm" DiskId="1" /> <File Id="F__TortoiseProc2052" Name="TortoiseProc2052.dll" Source="..\..\bin\release\bin\LanguagePack_zh_CH\TortoiseProc2052.dll" DiskId="1" /> <File Id="F__TortoiseSVN_zh_CN" Name="TortoiseSVN_zh_CN.chm" Source="..\..\bin\release\bin\LanguagePack_zh_CH\TortoiseSVN_zh_CN.chm" DiskId="1" /> </Component> <Directory Id="D__zh_CN" Name="zh_CN"> <Directory Id="D__LC_MESSAGES" Name="LC_MESSAGES"> <Component Id="C__zh_CN" Guid="$(var.GuidSubversionMo)" Win64="$(var.Win64YesNo)"> <File Id="F__Subversion" Name="Subversion.mo" Source="..\..\bin\release\bin\LanguagePack_zh_CH\zh_CN\LC_MESSAGES\Subversion.mo" DiskId="1" /> </Component> </Directory> </Directory> 注:以上部分是设置在安装TortoiseSVN时,创建中文包文件夹,并将中文包所需DLL等拷贝至相应的目录。 其中:Source只的是我们准备文件时,将这些DLL存放的路径。编译生成MSI安装包时,将会到这个Source找到相应的文件,将他们压缩进MSI安装包。 <Component Id="C__RegistryLanguage" Guid="$(var.GuidRegistryLanguage)" Win64="$(var.Win64YesNo)"> <RegistryValue Root="HKCU" Key="Software\TortoiseSVN" KeyPath="yes" Name="LanguageID" Value="2052" Type="integer" /> </Component> 注:以上部分是在用户的注册表HKCU下,添加设置TortoiseSVN语言的键值。 3. 由于WIX添加内容时,必须有一个GUID,上面的代码中我们用到了“GuidLanguagePack_zh_CN、GuidSubversionMo、GuidRegistryLanguage” 所以必须在Includes.wxi中添加相应的GUID声明,代码如下: <?define GuidLanguagePack_zh_CN="C9D757EE-F449-4c57-9351-14C95BD34708"?> <?define GuidSubversionMo="CA29F083-DC3E-4524-944A-AAE68DEAF3D7"?> <?define GuidRegistryLanguage="48916997-33F9-4b13-BF9E-87025C23744F"?> 上面加粗的文字,即为随机生成的GUID。 至此,WIX配置文件修改完毕,我们可以运行“Nant MSI”来生成这个中文安装包。然后会在源代码根目录“bin”文件夹下,找到我们生成的MSI安装包。 双击安装程序进行安装,可以在安装向导中,看到我们刚才自定义的“Language_zh_CN”的Feature,如下图所示: 一路“Next”安装下去,并重启计算机后,我们就可以使用中文版的TortoiseSVN了。 注:我们可以通过这个方法很方便地修改TortoiseSVN的安装包,达到我们需要的定制效果。 下面这段代码就是定制config文件的方法,有兴趣的可以看看。 <Directory Id="AppDataFolder" Name="AppDataFolder"> <Directory Id="Subversion" Name="Subversion"> <Component Id="C__CustomConfig" Guid="$(var.GuidCustomConfig)" Win64="$(var.Win64YesNo)"> <RegistryValue Root="HKCU" Key="Software\TortoiseSVN" KeyPath="yes" Name="ConfigCustomState" Value="1" Type="binary" /> <File Id="F__config" Name="config" Source="..\..\bin\release\bin\Config\config" DiskId="1"/> <RemoveFolder Directory="Subversion" On="uninstall" Id="RemoveFolder_Subversion" /> </Component> </Directory> </Directory>
发表评论
-
git macos 配置
2011-10-04 12:33 1690git有4种协议方式建git服务器,分别是本地协议、SSH协议 ... -
Java加密技术(十)
2011-05-08 22:31 851在Java 加密技术(九)中,我们使用自签名证书完成了认证。接 ... -
Java加密技术(九)
2011-05-08 22:30 790在Java加密技术(八)中,我们模拟了一个基于RSA非对称加密 ... -
Java加密技术(八)
2011-05-08 22:28 835在构建Java代码实现前,我们需要完成证书的制作。 1.生成k ... -
Java加密技术(七)
2011-05-08 22:26 784ECC ECC-Elliptic Curves Cryptog ... -
Java加密技术(六)
2011-05-08 22:24 767接下来我们介绍DSA数字签名,非对称加密的另一种实现。 DSA ... -
Java加密技术(五)
2011-05-08 22:23 639接下来我们分析DH加 ... -
Java加密技术(四)
2011-05-08 22:21 740接下来我们介绍典型的 ... -
Java加密技术(三)
2011-05-08 22:19 927除了DES,我们还知道有DESede(TripleDES,就 ... -
Java加密技术(二)
2011-05-08 22:18 761接下来我们介绍对称加密算法,最常用的莫过于DES数据加密算法 ... -
Java加密技术(一)
2011-05-08 22:16 749加密解密,曾经是我一个毕业设计的重要组件。在工作了多年以后回想 ... -
java并发学习之五:读JSR133笔记(持续更新中)
2011-04-11 07:02 820在写线程池的时候,遇 ... -
java并发学习之四:JSR 133 (Java Memory Model) FAQ【译】
2011-04-11 07:01 797Jsr133地址:http://www ... -
java并发学习之三:非阻塞漫想,关于环岛与地铁
2011-04-11 07:00 822到过北京上地的都会知道,上地城铁往西走有一个很大的上地环岛,旁 ... -
java并发学之二
2011-04-11 06:59 866在看书的时候看到了一个观察死锁的工具TDA(Thread Du ... -
ava并发学习之二:线程池
2011-04-11 06:58 720第二步,是实现一个线程池 因为之前看书的时候留了个心眼,看线程 ... -
java并发学习之一:CountDownLatch
2011-04-11 06:57 691看了几个月的《Java Concurrency in Prac ... -
CAS
2011-04-03 20:08 1051需求描述1:大家知道J2EE应用程序都可以用类型以下形式进行保 ... -
编译TortoiseSVN源代码
2011-03-26 07:04 1215装编译器软件 A. 你需要 VS.NET2005 (或 ... -
启动脚本
2011-03-12 15:01 819Shell代码 1、 ...
相关推荐
Subversion以及TortoiseSVN安装包
最新的小乌龟桌面版安装包,解压安装即用。xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
安装教程http://write.blog.csdn.net/postedit/17209815 TortoiseSVN图形化工具!
TortoiseSVN小乌龟安装包 1
该文件包内还有TortoiseSVN安装包,以及svn服务器安装包,以及svn的具体使用教程,svn可以很好的帮助大家实现代码的共享,文件、代码的版本记录及恢复功能。
TortoiseSVN1.14.3安装包+中文语言包
TortoiseSVN安装包内附安装教程 TortoiseSVN安装包内附安装教程
TortoiseSVN-1.13.1.28686-x64-svn-1.13.0 TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像...
git、TortoiseGit、TortoiseSVN
TortoiseSVN 是可用于 Windows 系统的 Apache™ Subversion (SVN)® 版本控制客户端. TortoiseSVN 无需使用 Subversion 命令行,是目前最方便的 Subversion 版本控制系统,其操作和使用非常直观和简洁。
汉化后在SVN设置中更换语言。
TortoiseSVN-1.10.1.28295-x64-svn-1.10.2安装包,同时包含简体中文包
1.服务器公司统一控制管理,在很多情况下,一个集中式的数据仓库却是更合适的。例如,如果你有一些核心代码想只允许部分人能访问,把它放到git里必然是你不希望的。很多的企业都是将它们的代码集中管理的,如此说来...
SVN版本管理工具
里面包含了svn的安装文档和svn的安装包,便于新手第一次安装不知道如何操作使用,也是我自己整理的,有什么问题还请反馈
TortoiseSVN-1.9.4.27285-x64-svn-...TortoiseSVN win7 64位系统安装包 LanguagePack_1.9.4.27285-x64-zh_CN.msi TortoiseSVN 中文语言安装包 TortoiseSVN-1.9.4-zh_CN.pdf TortoiseSVN 中文说明手册 软件安装说明.txt