我正在尝试安装一个名为JamShellBrowser的商业组件,但它不会安装。
我联系过开发者,但同时我想知道:
我检查了IDE的帮助,但是我找不到任何关于vrc文件的内容,我搜索了Delphi vrc,但找不到任何可以帮助我的东西。
错误消息是:
检查项目依赖性......
编译JamShellDelphiXE4.dproj(Release,Win32)
“JamShellDelphiXE4.vrc”的brcc32命令行
c:\ program files(x86)\ embarcadero \ rad studio \ 11.0 \ bin \ cgrc.exe -c65001 JamShellDelphiXE4.vrc -foJamShellDelphiXE4.res
[BRCC32错误] JamShellDelphiXE4.vrc(2):找不到文件:JamShellDelphiXE2_Icon.ico
失败
经过时间:00:00:00.1
我在组件文件夹中搜索了一个ico文件,但是没有...因此消息,但即使我从vrc文件中删除了行MAINICON ICON "JamShellDelphiXE2_Icon.ico"
,甚至删除了vrc文件,它也会自动生成当我尝试安装时。
几个月前我从Delphi 2010迁移到XE4并注意到了新的vrc文件,但我不知道它是什么或如何处理这些文件。
答案 0 :(得分:11)
.vrc
是由Delphi MSBuild进程创建的临时文件,用于编译将在最终二进制输出中链接的资源文件(.res)。它将传递给 CodeGear Resource Compiler / Binder (cgrc.exe)并在构建过程后删除。
它不会出现在.dproj文件中的任何位置。此行为来自BuildVersionResource
目标,从$(BDS)\Bin\CodeGear.Common.Targets
导入。如果您想更好地了解构建过程,请查看此文件(以及CodeGear.Delphi.Targets
)。
从.dproj中删除<Icon_MainIcon>
标记还不够,因为VERSIONINFO资源也可以强制创建.vrc文件(我相信&#34; vrc&#34;代表&#34;版本资源&#34;,虽然它也用于应用程序中的主图标。)
如果是软件包,Delphi总是将软件信息放在软件包项目中。 &#34;包含版本信息&#34;包项目忽略IDE选项。
所以,如果你(像我一样)
您可以通过在msbuild调用中将SkipResGeneration
设置为true
来完全禁用其创建。 E.g:
msbuild.exe myProject /t:Build /p:Config=Release /p:SkipResGeneration=true
但是,这仅适用于基于MSBuild的构建。我不知道如何为Delphi IDE的构建做同样的事情。
答案 1 :(得分:9)
我认为这是Delphi XE4和XE5的内置IDE行为,可能是由升级错误引起的。生成VRC文件是您无法禁用的,除非删除dproj文件中导致生成它的标记。
如果有办法解决或删除它,可能需要将您的dproj文件与另一个dproj文件进行比较,并查找仅适用于.dpr + .dproj项目的内容,该项目以某种方式进入您的.dpk + .dproj项目,如<Icon_MainIcon>
。
它似乎是一个中间文件,当.dpr + .dproj项目有一些必须从.dproj文件写出的版本信息,并进入临时位置然后编译并链接到您的应用程序时,会自动生成一个中间文件作为版本信息资源。但是,我也看到它是为.dpk + .dproj项目生成的,这也使我神秘。
它似乎也包含您的默认应用程序图标和版本信息的资源,并且包通常不具有versioninfo或应用程序图标资源。
我发现可能是一个BUG是Delphi IDE中没有用于设置包的应用程序图标的UI。然而,我有时会获得.VRC和.ICO文件。但除了向Embarcadero Quality Central报告此问题外,我不知道有什么问题。
使用.dproj项目,.VRC中间文件至少有一定意义。我看到以下内容:版本信息,应用程序图标和VCL样式(即AquaLightSlate.vsf)资源链接。
答案 2 :(得分:9)
只需在任何文本编辑器文件中打开@ PROJECT @ .dproj并找到行
<Icon_MainIcon>@PROJECT@_Icon.ico</Icon_MainIcon>
并删除它们。 您将找到每个Build目标一个。 保存文件,你就完成了。
编辑:原始答案是指.dpr文件,但请注意要编辑的部分位于.dproj中,因此我已更新上面的答案以反映这一点。
答案 3 :(得分:1)
这是一个澄清......
我刚开始将几个组件库安装到 Delphi RAD Studio XE5 中,我已经安装在 XE2 和 XE4 中。当我尝试构建大部分内容时,我也会遇到同样的错误。
The problem isn't so much the .vrc file itself, it's this particular error:
[BRCC32 Error] <project_name>.vrc(2): file not found: <project_name>_Icon.ico
我无法找到绕过它的方法,我不知道它在寻找什么或在哪里。
我倾向于将我的组件库从一个版本复制到另一个版本,打开它们,构建它们并安装它们(即那些不带安装程序的版本)。我以前从未见过这种情况。但是,这是我第一次安装 RAD Studio ;在过去我刚刚有 Delphi 。所以也许它与安装C++
有关?
答案 4 :(得分:0)
我必须更改X.optset文件才能使其正常工作。 X是您带来这些选项的Delphi版本的名称。我的是PolyDelphiXE2.optset。 一旦我更正了这里的名称,就再也不会进行有趣的编译了,从而带来了另一个ico参考。