是否可以从代码设置“版本信息”设置?我想在不使用项目选项对话框的情况下为“注释”属性设置版本编号和值。从代码中设置Delphi 7项目“版本信息”?
回答
解决方法是编辑项目资源文件。检查此C++示例http://www.codeproject.com/KB/cpp/UpdateVersion.aspx
您将需要覆盖应用程序资源。 很好的出发点是可能XN资源编辑器附带源代码http://www.wilsonc.demon.co.uk/d10resourceeditor.htm
值得一读也Inno Setup的(它设置图标,可执行输出) - http://jrsoftware.org/isdl.php
我会建议使用一个构建工具,像FinalBuilder(我用了很多),它可以根据适当的方案为你做到这一点。然后你知道构建选项都是你想要的,你的数字会适当增加,你可以做一些事情,比如上传到FTP站点等等。在我的脚本中,内部版本号从EXE到安装程序和全部包含在内。
+1,Visual Build Pro也适用于此。 http://www.kinook.com/VisBuildPro/ – 2010-07-07 13:39:26
而不是编辑IDE为您管理的二进制RES文件,您可能会发现维护包含version-info resource的文本RC文件更容易。编写资源脚本文件,然后将其包含在与这样的线项目:
{$R resources.res resources.rc}
你应该删除从项目的DPR文件{$R *.RES}
行,否则你会得到重复的版本资源。不要将您的项目名称用作自定义资源文件的名称;该名称由IDE保留。
IDE管理的资源文件还包含项目图标,因此您还需要将其包含在资源脚本中。
您可以手动编辑资源脚本,也可以编写程序对其进行编辑或重新生成它作为构建步骤之一。
使用文本资源脚本具有附加的副作用,它可以更容易地跟踪您使用的任何源代码管理系统(如CVS)中的更改。
+1我们目前在.bdsproj和.res文件中使用版本信息,这是一场噩梦。它使合并麻烦。我们有一个分支创建者,可以更改版本信息并将其复原为svn,所以这不是问题,但是当我们稍后尝试合并时,我们会付出沉重的代价。 99%的更改是.bdsproj和.res文件!我们将转而采用.rc方法。 – 2010-07-07 13:43:47
只需在项目选项中禁用版本信息即可,并且不会出现重复资源错误,同时可以设置在默认.res文件中设置的其他数据。 – 2010-07-07 13:59:50
请注意,当您移除{$ * .res}时,您还会丢失项目选项设置的主应用程序图标,并且需要使用.rc文件自己添加一个。 – 2010-07-07 14:04:47
你必须为此编写向导。退房IOTAProjectOptions在D7IOTA.HLP文件,ToolsAPI单元和this thread
为什么downvote?这个答案实际上提供了对于提出的问题的最直接的答案!好的,事实证明这个问题的海报是在其他事情之后,但这个答案不值得为此付出代价!如果*问题*应该是什么。 (StackOverflow应该为这个问题提供两个排名:1为问题本身,另一个为问题提出的程度如何/如何清楚/多么接近实际问题需要回答等等) – Deltics 2010-07-08 02:11:09
可能我的解决方案*看起来太复杂:-)然而,任一个IDE都独占地维护项目资源,或者用户必须手动完成。这是无缝集成的唯一途径。 – 2010-07-11 00:53:34
- 1. 在Windows中设置假版本信息
- 2. 从Delphi 7中的文本文件加载信息
- 3. 如何在Delphi应用程序中使用项目版本信息?
- 4. 从.ABR文件(Photoshop笔刷设置)中读取版本信息
- 5. 设置WCF客户端代码中的消息版本
- 6. xyz项目信息
- 7. 使用Delphi修改另一个delphi程序的版本信息
- 8. 的Windows版本信息
- 9. OTA设置Delphi项目Keys选项
- 10. maven - 设置当前项目版本
- 11. 无法在jsp中显示maven项目版本信息
- 12. 我们可以使用较低版本的Delphi(Delphi xe5)从更高版本编辑项目文件(Delphi xe6)
- 13. 配置没有任何版本信息 - 假设配置为版本1.5
- 14. 如何在Windows 7中为虚拟目录设置ASP.NET版本
- 15. 将项目从Delphi 7迁移到Delphi XE有多难?
- 16. 自动更新C++/CLI项目的版本信息
- 17. 设置.NET Core项目的版本号 - CSPROJ - 不是JSON项目
- 18. 如何在Qt项目中设置Android目标版本?
- 19. DirectX版本信息
- 20. 从会话信息中删除项目
- 21. 从项目中删除静态信息
- 22. 从IsCmdBld.exe设置InstallShield 2009 InstallScript项目的版本
- 23. 访问另一个项目的版本信息
- 24. 如何编译Delphi项目组的所有版本,该项目在Delphi IDE中的项目很少?
- 25. 在Windows 7上设置IGMP版本
- 26. parse.com云码设置版本?
- 27. 获取Android版本信息
- 28. 信息设置
- 29. 在Windows 7中存储Delphi代码的位置?
- 30. 添加SVN版本信息源代码(CMake的)
的源代码,你可以在此详细一点?你真的**想在编译后改变你的EXE版本吗?您的应用程序可能会因为某些Mallware而感到困惑!或者你想在编译时只更改一次?或者,也许编译后立即? – 2010-07-07 13:09:55
我不想在编译后改变它。我只想在代码中设置编译值。 – pantarhei 2010-07-07 14:03:45