从源码到Release:RDP Wrapper完整发布流程解析
【免费下载链接】rdpwrap RDP Wrapper Library 项目地址: https://gitcode.com/gh_mirrors/rd/rdpwrap
你是否曾为开源项目的发布流程感到困惑?本文将以RDP Wrapper Library为例,详细讲解从源码编译到最终发布的全流程,让你轻松掌握开源项目的发布技巧。读完本文,你将了解如何配置开发环境、编译多架构代码、生成安装包以及创建Git仓库Release。
开发环境准备
RDP Wrapper支持x86和x64两种架构,需要不同的开发工具。根据项目要求,x86 Delphi版本需使用Embarcadero RAD Studio 2010编译,而x86/x64 C++版本则需要Microsoft Visual Studio 2013。此外,WiX Toolset用于生成MSI安装包,可通过国内CDN下载安装。
项目源码托管在Git仓库,使用以下命令克隆项目:
git clone https://gitcode.com/gh_mirrors/rd/rdpwrap
源码结构解析
RDP Wrapper项目结构清晰,主要包含以下目录和文件:
-
核心源码目录:
- src-x86-binarymaster/:x86 Delphi版本源码,包含rdpwrap.dpr主程序文件
- src-x86-x64-Fusix/:x86/x64 C++版本源码,包含RDPWrap.cpp
-
工具程序目录:
- src-installer/:安装程序源码,包含RDPWInst.dpr
- src-rdpcheck/:RDP检查工具,包含RDPCheck.dpr
- src-rdpconfig/:配置工具,包含RDPConf.dpr
-
资源文件目录:
- res/:包含配置文件rdpwrap.ini和安装包构建脚本build_wxs.bat
编译流程
1. 编译核心库
对于Delphi版本,使用RAD Studio 2010打开src-x86-binarymaster/rdpwrap.dproj,选择"Build"生成rdpwrap.dll。
对于C++版本,使用Visual Studio 2013打开src-x86-x64-Fusix/RDPWrap.sln,分别为x86和x64平台构建解决方案。
2. 编译工具程序
同样使用相应的IDE打开各工具项目文件进行编译:
- 安装程序:src-installer/RDPWInst.dproj
- RDP检查工具:src-rdpcheck/RDPCheck.dproj
- 配置工具:src-rdpconfig/RDPConf.dproj
3. 生成MSI安装包
使用WiX Toolset构建MSI安装包:
cd res && build_wxs.bat
该脚本会调用candle和light命令处理RDPWInst.wxs文件,生成最终的MSI安装包。
配置文件管理
RDP Wrapper的核心配置文件是res/rdpwrap.ini,该文件定义了不同Windows版本的终端服务支持信息。发布前需确保该文件包含最新的Windows版本支持信息。
配置文件结构示例:
[Main]
Updated=2018-10-10
LogFile=\rdpwrap.txt
SLPolicyHookNT60=1
SLPolicyHookNT61=1
[SLPolicy]
TerminalServices-RemoteConnectionManager-AllowRemoteConnections=1
TerminalServices-RemoteConnectionManager-AllowMultipleSessions=1
[6.0.6000.16386]
SingleUserPatch.x86=1
SingleUserOffset.x86=160BF
SingleUserCode.x86=nop
DefPolicyPatch.x86=1
DefPolicyOffset.x86=15CD8
DefPolicyCode.x86=CDefPolicy_Query_edx_ecx
发布包准备
Release包应包含以下文件,可参考README.md中的说明:
| 文件名称 | 描述 |
|---|---|
RDPWInst.exe | RDP Wrapper安装程序 |
RDPCheck.exe | RDP功能检查工具 |
RDPConf.exe | RDP配置工具 |
rdpwrap.dll | 核心库文件 |
rdpwrap.ini | 配置文件 |
install.bat | 快速安装脚本 |
uninstall.bat | 卸载脚本 |
update.bat | 配置文件更新脚本 |
版本号管理
RDP Wrapper使用语义化版本控制,版本号格式为x.y.z。根据technical.txt中的记录,每次发布需更新版本号并记录变更内容。
例如:
2018.10.10 :
- added support for termsrv.dll 6.1.7601.24234 x86
创建Git仓库Release
- 在Git仓库页面点击"Releases" -> "Draft a new release"
- 输入版本号标签(如v1.6.2)和发布标题
- 撰写发布说明,列出主要更新内容
- 上传编译好的发布包文件
- 点击"Publish release"完成发布
常见问题解决
编译错误
若遇到编译错误,首先检查开发环境是否符合要求。确保使用的是指定版本的RAD Studio和Visual Studio。
配置文件更新
当Windows更新导致termsrv.dll版本变化时,只需更新res/rdpwrap.ini文件,无需重新编译整个项目。可通过update.bat脚本自动更新配置文件。
多版本支持
RDP Wrapper支持从Windows Vista到Windows 10的多个版本,具体支持情况可参考technical.txt中的详细列表。
总结
RDP Wrapper的发布流程涵盖了从源码到最终用户手中安装包的完整路径。核心步骤包括环境准备、源码编译、安装包生成和版本发布。通过本文的介绍,你应该能够理解开源项目发布的主要流程和注意事项。
官方文档:README.md 技术细节:technical.txt
如果你觉得本文有帮助,请点赞、收藏并关注,以便获取更多开源项目相关的教程。下期我们将介绍如何为RDP Wrapper添加新的Windows版本支持。
【免费下载链接】rdpwrap RDP Wrapper Library 项目地址: https://gitcode.com/gh_mirrors/rd/rdpwrap
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



