Skip to content

Commit d0777b6

Browse files
committed
VS 2017 support
1 parent 0805d88 commit d0777b6

File tree

8 files changed

+137
-13
lines changed

8 files changed

+137
-13
lines changed

.gitmodules

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@
99
url = https://github.com/someone-with-default-username/wix36.git
1010
[submodule "ExternalDependences/wix311"]
1111
path = ExternalDependences/wix311
12-
url = git@github.com:rsdn/wix311.git
12+
url = https://github.com/rsdn/wix311.git

misc/packages/wix/Includes/Variables.wxi

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -140,13 +140,21 @@
140140
<?define Comp_VS2013_ProjectTemplates_Guid = "4AA4725A-3BB1-4061-B462-36B07FFE2D65" ?>
141141
<?define Comp_VS2013_Resources_Guid = "AB12A281-D59F-4484-9223-DB18743B9629" ?>
142142

143-
<?define Comp_VS2015_Manifest_Guid = "CC1D1417-0E16-47C0-AB4B-6A922CEBAD53" ?>
144-
<?define Comp_VS2015_Package_Guid = "0A8414C1-A35D-4CC0-802C-0AC228CCA050" ?>
145-
<?define Comp_VS2015_SnippetsIndex_Guid = "4765157D-C001-4DA6-9B17-9A1D279CCC07" ?>
146-
<?define Comp_VS2015_Snippets_Guid = "48B716D2-ADE8-4A2F-AD70-CD2A2580AF1A" ?>
147-
<?define Comp_VS2015_ItemTemplates_Guid = "AEAB1A9C-37A9-4242-BFBD-367E266B04E3" ?>
148-
<?define Comp_VS2015_ProjectTemplates_Guid = "4AA4125A-3BB1-4061-B462-36B02FFE2D65" ?>
149-
<?define Comp_VS2015_Resources_Guid = "AB121281-D59F-4484-9223-DB18243B9629" ?>
143+
<?define Comp_VS2015_Manifest_Guid = "7b698719-5837-4d13-a8b0-e62f93098b44" ?>
144+
<?define Comp_VS2015_Package_Guid = "68b782f1-3cac-4e6b-9b84-3bbf2dbabb99" ?>
145+
<?define Comp_VS2015_SnippetsIndex_Guid = "096c2345-2c84-4c08-aa97-db6280f0528f" ?>
146+
<?define Comp_VS2015_Snippets_Guid = "1abfa705-ea0e-4f0f-a258-26c7b18d1084" ?>
147+
<?define Comp_VS2015_ItemTemplates_Guid = "f26efbe6-565d-438e-8137-1c65e72f1baf" ?>
148+
<?define Comp_VS2015_ProjectTemplates_Guid = "bf2b3643-0ae9-4ad1-b014-481e0e674e61" ?>
149+
<?define Comp_VS2015_Resources_Guid = "be845086-1a50-47d6-a5e7-ce97e57d311e" ?>
150+
151+
<?define Comp_VS2017_Manifest_Guid = "beb1ac47-f4dc-46bd-8f45-21736f1897d5" ?>
152+
<?define Comp_VS2017_Package_Guid = "74374266-5911-4b97-a5ba-038181a731fc" ?>
153+
<?define Comp_VS2017_SnippetsIndex_Guid = "69a7dd87-e66c-4e50-8073-ab55be082696" ?>
154+
<?define Comp_VS2017_Snippets_Guid = "11be58fc-cc8b-4cb1-9612-3c72a3954d7d" ?>
155+
<?define Comp_VS2017_ItemTemplates_Guid = "76c93f4c-78f3-4085-b373-e940dc35168a" ?>
156+
<?define Comp_VS2017_ProjectTemplates_Guid = "a1960d40-0412-45ab-9a06-1996de98f995" ?>
157+
<?define Comp_VS2017_Resources_Guid = "0aee5c22-5f9f-436e-92b2-985c0b9d875e" ?>
150158

151159
<?else?>
152160
<?error NVer must be defined?>

misc/packages/wix/Sources/PkgDefPatcher.js

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,55 @@ function VS2015() {
194194
writeStream.Close();
195195
}
196196

197+
function VS2017() {
198+
if (!Session) return;
199+
200+
var args = ParseArguments("VS2017");
201+
var pkgdefFile = GetPkgDefFile(args);
202+
var text = ReadPkgDefFile(pkgdefFile);
203+
var newText = SubstitutePaths(args, text);
204+
var writeStream = pkgdefFile.OpenAsTextStream(2, -2);
205+
writeStream.Write(newText);
206+
207+
if (newText.indexOf('[$RootKey$\\RuntimeConfiguration\\dependentAssembly\\bindingRedirection\\{FE369FD8-C6DB-433B-907B-05A115708416}]') < 0) {
208+
writeStream.WriteLine('[$RootKey$\\RuntimeConfiguration\\dependentAssembly\\bindingRedirection\\{FE369FD8-C6DB-433B-907B-05A115708416}]');
209+
writeStream.WriteLine('"name"="Nemerle.VisualStudio"' );
210+
writeStream.WriteLine('"publicKeyToken"="c4c0f22444bf4088"' );
211+
writeStream.WriteLine('"culture"="neutral"' );
212+
writeStream.WriteLine('"oldVersion"="1.0.0.0-' + args.NemerleVisualStudioVersion + '"' );
213+
writeStream.WriteLine('"newVersion"="' + args.NemerleVisualStudioVersion + '"' );
214+
}
215+
216+
if (newText.indexOf('[$RootKey$\\RuntimeConfiguration\\dependentAssembly\\bindingRedirection\\{BD1D3C51-E157-4DE0-A535-E94130D1970A}]') < 0) {
217+
writeStream.WriteLine('[$RootKey$\\RuntimeConfiguration\\dependentAssembly\\bindingRedirection\\{BD1D3C51-E157-4DE0-A535-E94130D1970A}]');
218+
writeStream.WriteLine('"name"="Microsoft.Windows.Design.Host"' );
219+
writeStream.WriteLine('"publicKeyToken"="b03f5f7f11d50a3a"' );
220+
writeStream.WriteLine('"culture"="neutral"' );
221+
writeStream.WriteLine('"oldVersion"="4.0.0.0-4.2.0.0"' );
222+
writeStream.WriteLine('"newVersion"="4.3.0.0"' );
223+
}
224+
225+
if (newText.indexOf('[$RootKey$\\RuntimeConfiguration\\dependentAssembly\\bindingRedirection\\{5978995F-FBA0-4DCC-8556-19AB2EB19D36}]') < 0) {
226+
writeStream.WriteLine('[$RootKey$\\RuntimeConfiguration\\dependentAssembly\\bindingRedirection\\{5978995F-FBA0-4DCC-8556-19AB2EB19D36}]');
227+
writeStream.WriteLine('"name"="Microsoft.Windows.Design.Interaction"' );
228+
writeStream.WriteLine('"publicKeyToken"="b03f5f7f11d50a3a"' );
229+
writeStream.WriteLine('"culture"="neutral"' );
230+
writeStream.WriteLine('"oldVersion"="4.0.0.0-4.2.0.0"' );
231+
writeStream.WriteLine('"newVersion"="4.3.0.0"' );
232+
}
233+
234+
if (newText.indexOf('[$RootKey$\\RuntimeConfiguration\\dependentAssembly\\bindingRedirection\\{F604D514-4F33-422E-BA44-E4F22381F044}]') < 0) {
235+
writeStream.WriteLine('[$RootKey$\\RuntimeConfiguration\\dependentAssembly\\bindingRedirection\\{F604D514-4F33-422E-BA44-E4F22381F044}]');
236+
writeStream.WriteLine('"name"="Microsoft.VisualStudio.Web.Application"' );
237+
writeStream.WriteLine('"publicKeyToken"="b03f5f7f11d50a3a"' );
238+
writeStream.WriteLine('"culture"="neutral"' );
239+
writeStream.WriteLine('"oldVersion"="10.0.0.0-12.0.0.0"' );
240+
writeStream.WriteLine('"newVersion"="14.0.0.0"' );
241+
}
242+
243+
writeStream.Close();
244+
}
245+
197246
function UpdateFileTimestamp() {
198247
var filePath = Session.Property("CustomActionData");
199248
var fso = new ActiveXObject("Scripting.FileSystemObject");

misc/packages/wix/Sources/Product.wxs

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
<PropertyRef Id="VS2012DEVENV" />
3636
<PropertyRef Id="VS2013DEVENV" />
3737
<PropertyRef Id="VS2015DEVENV" />
38+
<PropertyRef Id="VS2017DEVENV" />
3839
<?else?>
3940
<PropertyRef Id="VS90DEVENV" />
4041
<PropertyRef Id="VS90SHELL" />
@@ -100,6 +101,10 @@
100101
<Condition Level="1">VS2015DEVENV</Condition>
101102
<ComponentGroupRef Id="CompGroup_VS2015Extension" />
102103
</Feature>
104+
<Feature Id="Feature_VS2017" Title="Visual Studio 2017 Integration" Description="Nemerle Project and IntelliSense for Visual Studio 2017" AllowAdvertise="no" Display="expand" InstallDefault="local" Level="0" TypicalDefault="install">
105+
<Condition Level="1">VS2017DEVENV</Condition>
106+
<ComponentGroupRef Id="CompGroup_VS2017Extension" />
107+
</Feature>
103108
<?endif?>
104109

105110
<?if $(var.NVer) = "net-3.5" ?>
@@ -146,6 +151,11 @@
146151
<Custom Action="VS2015PatchPkgDef" Before="VS2015UpdateExtensionsInit"><![CDATA[&Feature_VS2015 > 2]]></Custom>
147152
<Custom Action="VS2015UpdateExtensionsInit" Before="VS2015UpdateExtensions" ><![CDATA[&Feature_VS2015 > 1]]></Custom>
148153
<Custom Action="VS2015UpdateExtensions" Before="InstallFinalize" ><![CDATA[&Feature_VS2015 > 1]]></Custom>
154+
155+
<Custom Action="VS2017PatchPkgDefInit" Before="VS2017PatchPkgDef" ><![CDATA[&Feature_VS2017 > 2]]></Custom>
156+
<Custom Action="VS2017PatchPkgDef" Before="VS2017UpdateExtensionsInit"><![CDATA[&Feature_VS2017 > 2]]></Custom>
157+
<Custom Action="VS2017UpdateExtensionsInit" Before="VS2017UpdateExtensions" ><![CDATA[&Feature_VS2017 > 1]]></Custom>
158+
<Custom Action="VS2017UpdateExtensions" Before="InstallFinalize" ><![CDATA[&Feature_VS2017 > 1]]></Custom>
149159
<?endif?>
150160

151161
<?if $(var.NVer) = "net-3.5" ?>
@@ -179,9 +189,12 @@
179189

180190
<ProgressText Action="VS2013PatchPkgdef" Template="[1]">Updating Visual Studio 2013 registration</ProgressText>
181191
<ProgressText Action="VS2013UpdateExtensions" Template="[1]">Updating Visual Studio 2013 registration</ProgressText>
182-
183-
<ProgressText Action="VS2015PatchPkgdef" Template="[1]">Updating Visual Studio 2015 registration</ProgressText>
192+
193+
<ProgressText Action="VS2015PatchPkgdef" Template="[1]">Updating Visual Studio 2015 registration</ProgressText>
184194
<ProgressText Action="VS2015UpdateExtensions" Template="[1]">Updating Visual Studio 2015 registration</ProgressText>
195+
196+
<ProgressText Action="VS2017PatchPkgdef" Template="[1]">Updating Visual Studio 2017 registration</ProgressText>
197+
<ProgressText Action="VS2017UpdateExtensions" Template="[1]">Updating Visual Studio 2017 registration</ProgressText>
185198
<?endif?>
186199
<?if $(var.NVer) = "net-3.5" ?>
187200
<ProgressText Action="VS90Setup" Template="[1]">Updating Visual Studio 2008 registration</ProgressText>

misc/packages/wix/Sources/Vs2010_Extension.wxs

Lines changed: 52 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
66
<Fragment>
7-
<?foreach ide in VS2010;VS2012;VS2013;VS2015 ?>
7+
<?foreach ide in VS2010;VS2012;VS2013;VS2015;VS2017?>
88

99
<PropertyRef Id="$(var.ide)_ROOT_FOLDER" />
1010

@@ -300,5 +300,56 @@
300300
</Component>
301301
</DirectoryRef>
302302

303+
<!-- VS2017 Specific components -->
304+
305+
<DirectoryRef Id="VS2017EXTENSIONDIR" FileSource="$(var.DistPath)\vs-plugin">
306+
<Component Id="Comp_VS2017_Manifest" DiskId="1" Guid="$(var.Comp_VS2017_Manifest_Guid)">
307+
<File Id="File_VS2017_extension.vsixmanifest" Name="extension.vsixmanifest" KeyPath="yes"/>
308+
<util:XmlFile Id="Xml_VS2017_extension.vsixmanifest_1" File="[VS2017EXTENSIONDIR]extension.vsixmanifest" SelectionLanguage="XPath"
309+
Action="setValue" ElementPath="//*[\[]local-name()='InstalledByMsi'[\]]" Value="true" />
310+
<util:XmlFile Id="Xml_VS2017_extension.vsixmanifest_2" File="[VS2017EXTENSIONDIR]extension.vsixmanifest" SelectionLanguage="XPath"
311+
Action="setValue" ElementPath="//*[\[]local-name()='MefComponent' and contains(text(), 'Nemerle.VisualStudio.dll')[\]]" Value="[Dir_Nver]Nemerle.VisualStudio.dll" />
312+
</Component>
313+
</DirectoryRef>
314+
315+
<DirectoryRef Id="VS2017EXTENSIONDIR" FileSource="$(var.DistPath)\vs-plugin">
316+
<Component Id="Comp_VS2017_Package" DiskId="1" Guid="$(var.Comp_VS2017_Package_Guid)">
317+
<File Id="File_VS2017_Nemerle.VisualStudio.pkgdef" Name="Nemerle.VisualStudio.pkgdef" KeyPath="yes"/>
318+
</Component>
319+
</DirectoryRef>
320+
321+
<DirectoryRef Id="VS2017_Resources_Folder" FileSource="$(var.DistPath)\vs-plugin\Resources">
322+
<Component Id="Comp_VS2017_Resources" DiskId="1" Guid="$(var.Comp_VS2017_Resources_Guid)">
323+
<File Id="File_VS2017_Nemerle.ico" Name="Nemerle.ico" KeyPath="yes"/>
324+
</Component>
325+
</DirectoryRef>
326+
327+
<DirectoryRef Id="VS2017_CodeSnippets_Folder" FileSource="$(var.DistPath)\vs-plugin\CodeSnippets">
328+
<Component Id="Comp_VS2017_SnippetsIndex" DiskId="1" Guid="$(var.Comp_VS2017_SnippetsIndex_Guid)">
329+
<File Id="File_VS2017_SnippetsIndex.xml" Name="SnippetsIndex.xml" KeyPath="yes"/>
330+
</Component>
331+
</DirectoryRef>
332+
333+
<DirectoryRef Id="VS2017_CodeSnippets_Snippets_Folder" FileSource="$(var.DistPath)\vs-plugin\CodeSnippets\Snippets">
334+
<Component Id="Comp_VS2017_Snippets" DiskId="1" Guid="$(var.Comp_VS2017_Snippets_Guid)">
335+
<?define ide = VS2017?>
336+
<?include ..\Includes\VsSnippets.wxi ?>
337+
</Component>
338+
</DirectoryRef>
339+
340+
<DirectoryRef Id="VS2017_ItemTemplates_Nemerle_Folder" FileSource="$(var.DistPath)\vs-plugin\ItemTemplates\Nemerle">
341+
<Component Id="Comp_VS2017_ItemTemplates" DiskId="1" Guid="$(var.Comp_VS2017_ItemTemplates_Guid)">
342+
<?define ide = VS2017?>
343+
<?include ..\Includes\VsItemTemplates.wxi ?>
344+
</Component>
345+
</DirectoryRef>
346+
347+
<DirectoryRef Id="VS2017_ProjectTemplates_Nemerle_Folder" FileSource="$(var.DistPath)\vs-plugin\ProjectTemplates\Nemerle">
348+
<Component Id="Comp_VS2017_ProjectTemplates" DiskId="1" Guid="$(var.Comp_VS2017_ProjectTemplates_Guid)">
349+
<?define ide = VS2017?>
350+
<?include ..\Includes\VsProjectTemplates.wxi ?>
351+
</Component>
352+
</DirectoryRef>
353+
303354
</Fragment>
304355
</Wix>

misc/packages/wix/nemerle.wixproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<IntermediateOutputPath>$(IntermediateOutputPath)\$(Configuration)\</IntermediateOutputPath>
1212
<DistPath>$(IntermediateOutputPath)\Dist\</DistPath>
1313
<NRoot>$(MSBuildProjectDirectory)\..\..\..</NRoot>
14-
<WixVersion Condition=" '$(WixVersion)' == '' ">wix310</WixVersion>
14+
<WixVersion Condition=" '$(WixVersion)' == '' ">wix311</WixVersion>
1515
<WixVersion Condition=" '$(NVer)' == 'net-3.5' ">wix36</WixVersion>
1616
<WixToolPath>$(NRoot)\ExternalDependences\$(WixVersion)\</WixToolPath>
1717
<WixTargetsPath>$(WixToolPath)Wix.targets</WixTargetsPath>

snippets/VS2010/Nemerle.VisualStudio/Project/NetFrameworkProjectConstants.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ namespace Nemerle.VisualStudio.Project
66
{
77
static class NetFrameworkProjectConstants
88
{
9+
private const string FrameworkVersion462 = "4.6.2";
910
private const string FrameworkVersion461 = "4.6.1";
1011
private const string FrameworkVersion46 = "4.6";
1112
private const string FrameworkVersion452 = "4.5.2";
@@ -40,6 +41,7 @@ public static string GetDefaultTargetFrameworkVersion()
4041
case 11: return "v" + FrameworkVersion45;
4142
case 12: return "v" + FrameworkVersion451;
4243
case 14: return "v" + FrameworkVersion46;
44+
case 15: return "v" + FrameworkVersion462;
4345
default: return "v" + FrameworkVersion40;
4446
}
4547
}
@@ -52,6 +54,7 @@ public static string GetDefaultTargetFrameworkVersion()
5254
"v" + FrameworkVersion452,
5355
"v" + FrameworkVersion46,
5456
"v" + FrameworkVersion461,
57+
"v" + FrameworkVersion462,
5558
};
5659

5760
public static int VisualStudioVersion = Process.GetCurrentProcess().MainModule.FileVersionInfo.FileMajorPart;

snippets/VS2010/Nemerle.VisualStudio/source.extension.vsixmanifest

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
</VisualStudio>
2828
<IsolatedShell Version="1.0">NemerleStudio</IsolatedShell>
2929
</SupportedProducts>
30-
<SupportedFrameworkRuntimeEdition MinVersion="4.0" MaxVersion="4.6" />
30+
<SupportedFrameworkRuntimeEdition MinVersion="4.0" MaxVersion="4.6.2" />
3131
<AllUsers>true</AllUsers>
3232
</Identifier>
3333
<References>

0 commit comments

Comments
 (0)