内网项目要装SVN,同事从官网下了TortoiseSVN-1.14.5.29465-x64.msi,拷到一台Windows Server 2008上双击,提示不是有效的Win32应用程序。安装包本身没问题,是系统太老,新版只支持Win7以上。
先分清三种安装包
Apache Subversion官方只发源码,Windows的二进制包由第三方编译,常见的是SlikSVN和Win32Svn,只含svn、svnadmin这些命令行工具,体积小,装上就能用。TortoiseSVN是客户端外壳,装完资源管理器里多出右键菜单,它自带命令行组件但默认不勾选。VisualSVN Server是服务端,把Apache、Subversion和管理界面打包成一个msi,适合在内网搭仓库。三者用途完全不同,别下错了互相装。
32位还是64位
TortoiseSVN从1.10开始只发64位包,1.8.x和1.9.x还有32位版本。判断系统架构看系统属性里的系统类型,或者命令行敲echo %PROCESSOR_ARCHITECTURE%。XP和2003只能用1.8.12,这是最后一个支持XP的版本,网上那些标注支持XP的新版包多半是被改过的。服务端装在32位系统上,内存再大也用不上超过2GB。
静默安装参数怎么写
msiexec /i TortoiseSVN.msi /qn /norestart ADDLOCAL=ALL msiexec /i TortoiseSVN.msi /qn COMMAND_LINE_TOOLS=1ADDLOCAL=ALL会把命令行工具一起装上,默认安装是不装的,很多批量部署脚本漏了这句,装完敲svn提示不是内部命令。配/norestart避免装完自动重启打断别的任务。装完验证:svn --version --quiet,输出1.14.5就对了。
离线环境怎么备包
把msi、中文语言包、VC运行库塞进同一个目录。新版TortoiseSVN依赖VC++ 2015-2022运行库,干净的服务器上没装,安装会回滚并报1603,备包时顺手带上vc_redist.x64.exe。语言包版本号必须和主程序完全一致,差一个小版本就装不上,提示语言包与程序版本不符。另外内网机器时间如果偏差太大,msi的数字签名校验会失败,装之前先把时间对好。
- 只敲命令:装SlikSVN,几十MB,没有右键菜单。
- 要图形界面:TortoiseSVN加对应语言包,两个文件一起存。