Skip to content

Commit 68235c7

Browse files
committed
Fix for linking resource file
1 parent 93e94a7 commit 68235c7

6 files changed

Lines changed: 41 additions & 38 deletions

File tree

EasySFTP/EasySFTP.vcxproj

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@
121121
<AdditionalManifestFiles>$(TargetFileName).manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles>
122122
</Manifest>
123123
<MuiResourceCompile>
124-
<GenerateLanguageNeutralResource>true</GenerateLanguageNeutralResource>
124+
<IncludeNeutralResourceToLink>false</IncludeNeutralResourceToLink>
125125
<ResourceOutputLNFileName>$(IntDir)$(ProjectName).ignore.res</ResourceOutputLNFileName>
126126
</MuiResourceCompile>
127127
</ItemDefinitionGroup>
@@ -157,7 +157,7 @@
157157
<AdditionalManifestFiles>$(TargetFileName).manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles>
158158
</Manifest>
159159
<MuiResourceCompile>
160-
<GenerateLanguageNeutralResource>true</GenerateLanguageNeutralResource>
160+
<IncludeNeutralResourceToLink>false</IncludeNeutralResourceToLink>
161161
<ResourceOutputLNFileName>$(IntDir)$(ProjectName).ignore.res</ResourceOutputLNFileName>
162162
</MuiResourceCompile>
163163
</ItemDefinitionGroup>
@@ -194,7 +194,7 @@
194194
<AdditionalManifestFiles>$(TargetFileName).manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles>
195195
</Manifest>
196196
<MuiResourceCompile>
197-
<GenerateLanguageNeutralResource>true</GenerateLanguageNeutralResource>
197+
<IncludeNeutralResourceToLink>false</IncludeNeutralResourceToLink>
198198
<ResourceOutputLNFileName>$(IntDir)$(ProjectName).ignore.res</ResourceOutputLNFileName>
199199
</MuiResourceCompile>
200200
</ItemDefinitionGroup>
@@ -232,7 +232,7 @@
232232
<AdditionalManifestFiles>$(TargetFileName).manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles>
233233
</Manifest>
234234
<MuiResourceCompile>
235-
<GenerateLanguageNeutralResource>true</GenerateLanguageNeutralResource>
235+
<IncludeNeutralResourceToLink>false</IncludeNeutralResourceToLink>
236236
<ResourceOutputLNFileName>$(IntDir)$(ProjectName).ignore.res</ResourceOutputLNFileName>
237237
</MuiResourceCompile>
238238
</ItemDefinitionGroup>
@@ -298,6 +298,10 @@
298298
<ItemGroup>
299299
<MuiResourceCompile Include="EasySFTP.en-US.rc" />
300300
<MuiResourceCompile Include="EasySFTP.ja-JP.rc">
301+
<IncludeNeutralResourceToLink Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</IncludeNeutralResourceToLink>
302+
<IncludeNeutralResourceToLink Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</IncludeNeutralResourceToLink>
303+
<IncludeNeutralResourceToLink Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</IncludeNeutralResourceToLink>
304+
<IncludeNeutralResourceToLink Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</IncludeNeutralResourceToLink>
301305
<ResourceOutputLNFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)$(ProjectName).res</ResourceOutputLNFileName>
302306
<ResourceOutputLNFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)$(ProjectName).res</ResourceOutputLNFileName>
303307
<ResourceOutputLNFileName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(IntDir)$(ProjectName).res</ResourceOutputLNFileName>

MuiResourceCompile.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
<MuiResourceCompile>
1010
<RCConfigFileName>$(ProjectName).rcconfig</RCConfigFileName>
1111
<ResourceOutputMuiFileName>$(IntDir)%(Filename).res</ResourceOutputMuiFileName>
12+
<IncludeNeutralResourceToLink>true</IncludeNeutralResourceToLink>
1213
</MuiResourceCompile>
1314
</ItemDefinitionGroup>
1415
</Project>

MuiResourceCompile.targets

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@
33
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
44
<ItemDefinitionGroup>
55
<MuiResourceCompile>
6-
<SuppressStartupBanner Condition="'%(MuiResourceCompile.SuppressStartupBanner)' == ''">true</SuppressStartupBanner>
7-
<GenerateLanguageNeutralResource Condition="'%(MuiResourceCompile.GenerateLanguageNeutralResource)' == ''">false</GenerateLanguageNeutralResource>
8-
<ResourceOutputLNFileName Condition="'%(MuiResourceCompile.ResourceOutputLNFileName)' == ''">$(IntDir)%(Filename).ln.res</ResourceOutputLNFileName>
9-
<ResourceOutputMuiFileName Condition="'%(MuiResourceCompile.ResourceOutputMuiFileName)' == ''">$(IntDir)%(Filename).res</ResourceOutputMuiFileName>
10-
<Culture Condition="'%(MuiResourceCompile.Culture)' == ''">0x0409</Culture>
11-
<TrackerLogDirectory Condition="'%(MuiResourceCompile.TrackerLogDirectory)' == ''">$(TLogLocation)</TrackerLogDirectory>
12-
<MinimalRebuildFromTracking Condition="'%(MuiResourceCompile.MinimalRebuildFromTracking)' == ''">true</MinimalRebuildFromTracking>
13-
<AcceptableNonZeroExitCodes Condition="'%(MuiResourceCompile.AcceptableNonZeroExitCodes)' == ''">$(AcceptableNonZeroExitCodes)</AcceptableNonZeroExitCodes>
6+
<SuppressStartupBanner Condition="'%(MuiResourceCompile.SuppressStartupBanner)' == ''">true</SuppressStartupBanner>
7+
<GenerateMuiResEvenIfVersionIsOnly Condition="'%(MuiResourceCompile.GenerateMuiResEvenIfVersionIsOnly)' == ''">false</GenerateMuiResEvenIfVersionIsOnly>
8+
<ResourceOutputLNFileName Condition="'%(MuiResourceCompile.ResourceOutputLNFileName)' == ''">$(IntDir)%(Filename).ln.res</ResourceOutputLNFileName>
9+
<ResourceOutputMuiFileName Condition="'%(MuiResourceCompile.ResourceOutputMuiFileName)' == ''">$(IntDir)%(Filename).res</ResourceOutputMuiFileName>
10+
<IncludeNeutralResourceToLink Condition="'%(MuiResourceCompile.IncludeNeutralResourceToLink)' == ''">true</IncludeNeutralResourceToLink>
11+
<Culture Condition="'%(MuiResourceCompile.Culture)' == ''">0x0409</Culture>
12+
<TrackerLogDirectory Condition="'%(MuiResourceCompile.TrackerLogDirectory)' == ''">$(TLogLocation)</TrackerLogDirectory>
13+
<MinimalRebuildFromTracking Condition="'%(MuiResourceCompile.MinimalRebuildFromTracking)' == ''">true</MinimalRebuildFromTracking>
14+
<AcceptableNonZeroExitCodes Condition="'%(MuiResourceCompile.AcceptableNonZeroExitCodes)' == ''">$(AcceptableNonZeroExitCodes)</AcceptableNonZeroExitCodes>
1415
</MuiResourceCompile>
1516
</ItemDefinitionGroup>
1617

@@ -71,7 +72,7 @@
7172
<Target Name="ComputeMUIRCOutputs" DependsOnTargets="$(ComputeMuiResourceCompileInputsTargets)">
7273

7374
<ItemGroup Condition="'@(MuiResourceCompile)' != ''">
74-
<LnResObj Condition="'%(MuiResourceCompile.ResourceOutputLNFileName)' != '' and '%(MuiResourceCompile.ExcludedFromBuild)'!='true'" Include="@(MuiResourceCompile->'%(ResourceOutputLNFileName)')">
75+
<LnResObj Condition="'%(MuiResourceCompile.ResourceOutputLNFileName)' != '' and '%(MuiResourceCompile.ExcludedFromBuild)'!='true' and '%(MuiResourceCompile.IncludeNeutralResourceToLink)'=='true'" Include="@(MuiResourceCompile->'%(ResourceOutputLNFileName)')">
7576
<LinkCompiled>%(MuiResourceCompile.LinkCompiled)</LinkCompiled>
7677
</LnResObj>
7778
<MuiResObj Condition="'%(MuiResourceCompile.ResourceOutputMuiFileName)' != '' and '%(MuiResourceCompile.ExcludedFromBuild)'!='true'" Include="@(MuiResourceCompile->'%(ResourceOutputMuiFileName)')">
@@ -184,7 +185,6 @@
184185
<OutputMuiFileName>$(MuiOutputDirectoryName)\%(MuiResourceCompile.MuiCulture)\$(MuiOutputFileName)</OutputMuiFileName>
185186
</MuiResourceCompile>
186187
</ItemGroup>
187-
<Message Text="MuiCulture: %(MuiResourceCompile.MuiCulture)" />
188188

189189
<Link
190190
BuildingInIDE ="$(BuildingInsideVisualStudio)"
@@ -227,8 +227,7 @@
227227
<AdditionalOptions Condition="'%(MuiResourceCompile.ResourceOutputMuiFileName)' != ''">/fm"%(MuiResourceCompile.ResourceOutputMuiFileName)" %(MuiResourceCompile.AdditionalOptions)</AdditionalOptions>
228228
</MuiResourceCompile>
229229
<MuiResourceCompile>
230-
<AdditionalOptions Condition="'%(MuiResourceCompile.GenerateLanguageNeutralResource)' != 'true'">/g1 %(MuiResourceCompile.AdditionalOptions)</AdditionalOptions>
231-
<ResourceOutputLNFileName Condition="'%(MuiResourceCompile.GenerateLanguageNeutralResource)' != 'true'"></ResourceOutputLNFileName>
230+
<AdditionalOptions Condition="'%(MuiResourceCompile.GenerateMuiResEvenIfVersionIsOnly)' == 'true'">/g1 %(MuiResourceCompile.AdditionalOptions)</AdditionalOptions>
232231
</MuiResourceCompile>
233232
<MuiResourceCompile>
234233
<AdditionalOptions Condition="'%(MuiResourceCompile.RCConfigFileName)' != ''">/q %(MuiResourceCompile.RCConfigFileName) %(MuiResourceCompile.AdditionalOptions)</AdditionalOptions>

MuiResourceCompile.xml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<!-- from https://github.com/ffftp/ffftp/blob/v3.0/MuiResourceCompile.xml -->
2+
<!-- Based on https://github.com/ffftp/ffftp/blob/v3.0/MuiResourceCompile.xml -->
33
<ProjectSchemaDefinitions xmlns="http://schemas.microsoft.com/build/2009/properties">
44
<ContentType Name="MUIRC" DisplayName="MUI RC file" ItemType="MuiResourceCompile" />
55
<ItemType Name="MuiResourceCompile" DisplayName="Mui Resource compiler" />
@@ -33,13 +33,12 @@
3333
<StringProperty Category="MUI" Name="RCConfigFileName" DisplayName="RC Configuration File Name" Description="Specifies the name of the RC configuration file. (/q [file])" Switch="q" Subtype="file" IsRequired="true" />
3434
<StringProperty Category="MUI" Name="ResourceOutputMuiFileName" DisplayName="Mui Resource File Name" Description="Specifies the name of the language-dependent resource file (/fm[file])" Switch="fm" Subtype="file" IsRequired="true" />
3535
<StringProperty Category="MUI" Name="MuiCulture" DisplayName="Culture Directory Name" Description="Specifies the name of the cutlure directory." IsRequired="true" IncludeInCommandLine="false" />
36-
<EnumProperty Category="MUI" Name="GenerateLanguageNeutralResource" DisplayName="Generate Language-Neutral Resource" Description="Generate the language-neutral resource file. (/g1)">
37-
<EnumValue Name="true" DisplayName="Generate">
38-
<Argument Property="ResourceOutputLNFileName" IsRequired="true" />
39-
</EnumValue>
40-
<EnumValue Name="false" DisplayName="Don't Generate" Switch="g1" />
36+
<EnumProperty Category="MUI" Name="GenerateMuiResEvenIfVersionIsOnly" DisplayName="Generate Mui Resource Even If VERSION only" Description="Always generate the MUI resource file even if the resource includes VERSION resource only. (/g1)">
37+
<EnumValue Name="false" DisplayName="None" />
38+
<EnumValue Name="true" DisplayName="Generate always" Switch="g1" />
4139
</EnumProperty>
4240
<StringProperty Category="MUI" Name="ResourceOutputLNFileName" DisplayName="LN Resource File Name" Description="Specifies the name of the language-neutral resource file (/fo[file])" Switch="fo" Subtype="file" />
41+
<BoolProperty Category="MUI" Name="IncludeNeutralResourceToLink" DisplayName="Include Neutral Resource to Executable" Description="Includes generated neutral resource file into the target executable file." IncludeInCommandLine="false" />
4342

4443
<StringProperty Name="AdditionalOptions" DisplayName="Additional Options" Description="Additional Options" Category="Command Line" F1Keyword="vc.project.AdditionalOptionsPage" />
4544
</Rule>

RegESFTP/RegESFTP.vcxproj

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -113,9 +113,7 @@
113113
<AdditionalDependencies>$(TargetDir)Common.lib;$(TargetDir)EasySFTP.lib;%(AdditionalDependencies)</AdditionalDependencies>
114114
</Link>
115115
<MuiResourceCompile>
116-
<GenerateLanguageNeutralResource>true</GenerateLanguageNeutralResource>
117-
</MuiResourceCompile>
118-
<MuiResourceCompile>
116+
<IncludeNeutralResourceToLink>false</IncludeNeutralResourceToLink>
119117
<ResourceOutputLNFileName>$(IntDir)$(ProjectName).ignore.res</ResourceOutputLNFileName>
120118
</MuiResourceCompile>
121119
</ItemDefinitionGroup>
@@ -144,9 +142,7 @@
144142
<AdditionalManifestFiles>$(TargetFileName).manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
145143
</Manifest>
146144
<MuiResourceCompile>
147-
<GenerateLanguageNeutralResource>true</GenerateLanguageNeutralResource>
148-
</MuiResourceCompile>
149-
<MuiResourceCompile>
145+
<IncludeNeutralResourceToLink>false</IncludeNeutralResourceToLink>
150146
<ResourceOutputLNFileName>$(IntDir)$(ProjectName).ignore.res</ResourceOutputLNFileName>
151147
</MuiResourceCompile>
152148
</ItemDefinitionGroup>
@@ -166,9 +162,7 @@
166162
<Version>0.14</Version>
167163
</Link>
168164
<MuiResourceCompile>
169-
<GenerateLanguageNeutralResource>true</GenerateLanguageNeutralResource>
170-
</MuiResourceCompile>
171-
<MuiResourceCompile>
165+
<IncludeNeutralResourceToLink>false</IncludeNeutralResourceToLink>
172166
<ResourceOutputLNFileName>$(IntDir)$(ProjectName).ignore.res</ResourceOutputLNFileName>
173167
</MuiResourceCompile>
174168
</ItemDefinitionGroup>
@@ -198,9 +192,7 @@
198192
<AdditionalManifestFiles>$(TargetFileName).manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
199193
</Manifest>
200194
<MuiResourceCompile>
201-
<GenerateLanguageNeutralResource>true</GenerateLanguageNeutralResource>
202-
</MuiResourceCompile>
203-
<MuiResourceCompile>
195+
<IncludeNeutralResourceToLink>false</IncludeNeutralResourceToLink>
204196
<ResourceOutputLNFileName>$(IntDir)$(ProjectName).ignore.res</ResourceOutputLNFileName>
205197
</MuiResourceCompile>
206198
</ItemDefinitionGroup>
@@ -213,6 +205,10 @@
213205
<ItemGroup>
214206
<MuiResourceCompile Include="RegESFTP.en-US.rc" />
215207
<MuiResourceCompile Include="RegESFTP.ja-JP.rc">
208+
<IncludeNeutralResourceToLink Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</IncludeNeutralResourceToLink>
209+
<IncludeNeutralResourceToLink Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</IncludeNeutralResourceToLink>
210+
<IncludeNeutralResourceToLink Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</IncludeNeutralResourceToLink>
211+
<IncludeNeutralResourceToLink Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</IncludeNeutralResourceToLink>
216212
<ResourceOutputLNFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)$(ProjectName).res</ResourceOutputLNFileName>
217213
<ResourceOutputLNFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)$(ProjectName).res</ResourceOutputLNFileName>
218214
<ResourceOutputLNFileName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(IntDir)$(ProjectName).res</ResourceOutputLNFileName>

ShellDLL/ShellDLL.vcxproj

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ exit /b 0
140140
<MuiResourceCompile>
141141
<PreprocessorDefinitions>_TLB_FILE="$(IntDir)$(ProjectName).tlb";%(PreprocessorDefinitions)</PreprocessorDefinitions>
142142
<ResourceOutputLNFileName>$(IntDir)$(ProjectName).ignore.res</ResourceOutputLNFileName>
143-
<GenerateLanguageNeutralResource>true</GenerateLanguageNeutralResource>
143+
<IncludeNeutralResourceToLink>false</IncludeNeutralResourceToLink>
144144
</MuiResourceCompile>
145145
</ItemDefinitionGroup>
146146
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@@ -191,7 +191,7 @@ exit /b 0
191191
<MuiResourceCompile>
192192
<PreprocessorDefinitions>_TLB_FILE="$(IntDir)$(ProjectName).tlb";%(PreprocessorDefinitions)</PreprocessorDefinitions>
193193
<ResourceOutputLNFileName>$(IntDir)$(ProjectName).ignore.res</ResourceOutputLNFileName>
194-
<GenerateLanguageNeutralResource>true</GenerateLanguageNeutralResource>
194+
<IncludeNeutralResourceToLink>false</IncludeNeutralResourceToLink>
195195
</MuiResourceCompile>
196196
</ItemDefinitionGroup>
197197
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@@ -245,7 +245,7 @@ exit /b 0
245245
<MuiResourceCompile>
246246
<PreprocessorDefinitions>_TLB_FILE="$(IntDir)$(ProjectName).tlb";%(PreprocessorDefinitions)</PreprocessorDefinitions>
247247
<ResourceOutputLNFileName>$(IntDir)$(ProjectName).ignore.res</ResourceOutputLNFileName>
248-
<GenerateLanguageNeutralResource>true</GenerateLanguageNeutralResource>
248+
<IncludeNeutralResourceToLink>false</IncludeNeutralResourceToLink>
249249
</MuiResourceCompile>
250250
</ItemDefinitionGroup>
251251
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
@@ -299,7 +299,7 @@ exit /b 0
299299
<MuiResourceCompile>
300300
<PreprocessorDefinitions>_TLB_FILE="$(IntDir)$(ProjectName).tlb";%(PreprocessorDefinitions)</PreprocessorDefinitions>
301301
<ResourceOutputLNFileName>$(IntDir)$(ProjectName).ignore.res</ResourceOutputLNFileName>
302-
<GenerateLanguageNeutralResource>true</GenerateLanguageNeutralResource>
302+
<IncludeNeutralResourceToLink>false</IncludeNeutralResourceToLink>
303303
</MuiResourceCompile>
304304
</ItemDefinitionGroup>
305305
<ItemGroup>
@@ -440,6 +440,10 @@ exit /b 0
440440
<ItemGroup>
441441
<MuiResourceCompile Include="ShellDLL.en-US.rc" />
442442
<MuiResourceCompile Include="ShellDLL.ja-JP.rc">
443+
<IncludeNeutralResourceToLink Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</IncludeNeutralResourceToLink>
444+
<IncludeNeutralResourceToLink Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</IncludeNeutralResourceToLink>
445+
<IncludeNeutralResourceToLink Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</IncludeNeutralResourceToLink>
446+
<IncludeNeutralResourceToLink Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</IncludeNeutralResourceToLink>
443447
<ResourceOutputLNFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)$(ProjectName).res</ResourceOutputLNFileName>
444448
<ResourceOutputLNFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)$(ProjectName).res</ResourceOutputLNFileName>
445449
<ResourceOutputLNFileName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(IntDir)$(ProjectName).res</ResourceOutputLNFileName>

0 commit comments

Comments
 (0)