From ccf0024ba099103a5b759613c48b8cd46af8754a Mon Sep 17 00:00:00 2001 From: Davis Goodin Date: Fri, 2 Aug 2019 11:00:46 -0500 Subject: [PATCH] Create WindowsDesktop sharedfx bundle installer (#7540) * Copy ExecWithRetries from BuildTools Adds working dir, log importance to ExecWithRetries. Also Inline attemptMessage and add log importance comment. * Add WindowsDesktop sfx bundle installer, refactor Adds bundle creation support to the packaging-tools, and factors the framework pack and runtime WiX files into a single, more flexible, "product" set of WiX files. The old MSI generation directory is removed entirely: with the new "product" WiX files, the host and hostfxr MSI creation can move to the new system. The VS insertion nupkg generation code is also ported from PowerShell to MSBuild to fit the new system. The old system is still used for some macOS pkgs and the macOS bundle installer, some Debian/RPM packages, and some tarballs/zips. --- Directory.Build.targets | 13 +- Subsets.props | 11 + eng/Signing.props | 11 +- signing/Directory.Build.targets | 35 ++- signing/SignBurnBundleFiles.proj | 9 + signing/SignBurnEngineFiles.proj | 11 + signing/SignMsiFiles.proj | 12 + src/pkg/Directory.Build.props | 7 - src/pkg/Directory.Build.targets | 3 +- .../acquire-nuget-exe/acquire-nuget-exe.proj | 20 ++ .../packaging-tools/framework.bundle.props | 10 + .../packaging-tools/framework.bundle.targets | 23 ++ .../packaging-tools/framework.packaging.props | 7 + .../framework.packaging.targets | 54 ++++ .../packaging-tools/framework.sharedfx.props | 5 + .../framework.sharedfx.targets | 13 + src/pkg/packaging-tools/installer.targets | 21 +- src/pkg/packaging-tools/packaging-tools.props | 1 + .../packaging-tools/packaging-tools.targets | 100 +++--- .../packaging-tools/windows/bundle/bundle.wxs | 85 ++++++ .../windows/bundle}/dummyEula.rtf | 0 .../windows/eula.rtf | 0 .../packaging-tools/windows/pack/product.wxs | 29 -- .../breadcrumbstorefolder.wxs | 0 .../windows/{ => product}/product.common.wxi | 0 .../{sharedFramework => product}/product.wxs | 28 +- .../windows/product}/provider.wxs | 2 +- .../windows/product/registrykeys.wxs | 23 ++ .../windows/product/sharedfxdir.wxs | 10 + .../werrelatedkeys.wxs | 0 src/pkg/packaging-tools/windows/provider.wxs | 9 - .../windows/sharedFramework/registrykeys.wxs | 13 - .../vs}/VS.Redist.Common.Component.nuspec | 0 src/pkg/packaging-tools/windows/wix.targets | 289 +++++++++++++++--- src/pkg/packaging/installers.proj | 103 +------ src/pkg/packaging/vs-insertion-packages.proj | 21 ++ .../packaging/windows/host/generatemsi.ps1 | 120 -------- src/pkg/packaging/windows/host/host.wxs | 51 ---- src/pkg/packaging/windows/host/variables.wxi | 26 -- .../packaging/windows/hostfxr/generatemsi.ps1 | 164 ---------- src/pkg/packaging/windows/hostfxr/hostfxr.wxs | 36 --- .../packaging/windows/hostfxr/provider.wxs | 9 - .../windows/hostfxr/registrykeys.wxs | 13 - .../packaging/windows/hostfxr/variables.wxi | 27 -- src/pkg/packaging/windows/package.props | 7 - src/pkg/packaging/windows/package.targets | 84 ----- .../windows/sharedframework/bundle.wxs | 99 ------ .../sharedframework/generatebundle.ps1 | 158 ---------- .../windows/sharedframework/variables.wxi | 32 -- .../windows/vscomponents/generatenupkg.ps1 | 35 --- src/pkg/projects/Directory.Build.props | 5 + .../Microsoft.NETCore.DotNetHost.pkgproj | 43 +++ .../Microsoft.NETCore.DotNetHost/host.wxs | 30 ++ ...crosoft.NETCore.DotNetHostResolver.pkgproj | 37 +++ .../Microsoft.NETCore.App.Bundle.bundleproj | 44 +++ .../Microsoft.NETCore.App.SharedFx.sfxproj | 2 + .../netcoreapp/sfx}/bundle.thm | 0 .../netcoreapp/sfx}/bundle.wxl | 0 .../netcoreapp/sfx}/theme/1028/bundle.wxl | 0 .../netcoreapp/sfx}/theme/1029/bundle.wxl | 0 .../netcoreapp/sfx}/theme/1031/bundle.wxl | 0 .../netcoreapp/sfx}/theme/1033/bundle.wxl | 0 .../netcoreapp/sfx}/theme/1036/bundle.wxl | 0 .../netcoreapp/sfx}/theme/1040/bundle.wxl | 0 .../netcoreapp/sfx}/theme/1041/bundle.wxl | 0 .../netcoreapp/sfx}/theme/1042/bundle.wxl | 0 .../netcoreapp/sfx}/theme/1045/bundle.wxl | 0 .../netcoreapp/sfx}/theme/1046/bundle.wxl | 0 .../netcoreapp/sfx}/theme/1049/bundle.wxl | 0 .../netcoreapp/sfx}/theme/1055/bundle.wxl | 0 .../netcoreapp/sfx}/theme/2052/bundle.wxl | 0 .../netcoreapp/sfx}/theme/3082/bundle.wxl | 0 .../netstandard/pkg/Directory.Build.props | 2 + .../windowsdesktop/Directory.Build.props | 2 + ...osoft.WindowsDesktop.App.Bundle.bundleproj | 19 ++ ...rosoft.WindowsDesktop.App.SharedFx.sfxproj | 3 +- .../projects/windowsdesktop/sfx/bundle.thm | 115 +++++++ .../projects/windowsdesktop/sfx/bundle.wxl | 74 +++++ .../windowsdesktop/sfx/theme/1028/bundle.wxl | 74 +++++ .../windowsdesktop/sfx/theme/1029/bundle.wxl | 74 +++++ .../windowsdesktop/sfx/theme/1031/bundle.wxl | 74 +++++ .../windowsdesktop/sfx/theme/1033/bundle.wxl | 74 +++++ .../windowsdesktop/sfx/theme/1036/bundle.wxl | 74 +++++ .../windowsdesktop/sfx/theme/1040/bundle.wxl | 74 +++++ .../windowsdesktop/sfx/theme/1041/bundle.wxl | 74 +++++ .../windowsdesktop/sfx/theme/1042/bundle.wxl | 74 +++++ .../windowsdesktop/sfx/theme/1045/bundle.wxl | 74 +++++ .../windowsdesktop/sfx/theme/1046/bundle.wxl | 74 +++++ .../windowsdesktop/sfx/theme/1049/bundle.wxl | 74 +++++ .../windowsdesktop/sfx/theme/1055/bundle.wxl | 74 +++++ .../windowsdesktop/sfx/theme/2052/bundle.wxl | 74 +++++ .../windowsdesktop/sfx/theme/3082/bundle.wxl | 74 +++++ tools-local/tasks/ExecWithRetries.cs | 116 +++++++ tools-local/tasks/core-setup.tasks.csproj | 1 + 94 files changed, 2218 insertions(+), 1150 deletions(-) create mode 100644 src/pkg/packaging-tools/acquire-nuget-exe/acquire-nuget-exe.proj create mode 100644 src/pkg/packaging-tools/framework.bundle.props create mode 100644 src/pkg/packaging-tools/framework.bundle.targets create mode 100644 src/pkg/packaging-tools/windows/bundle/bundle.wxs rename src/pkg/{packaging/windows/sharedframework => packaging-tools/windows/bundle}/dummyEula.rtf (100%) rename src/pkg/{packaging => packaging-tools}/windows/eula.rtf (100%) delete mode 100644 src/pkg/packaging-tools/windows/pack/product.wxs rename src/pkg/packaging-tools/windows/{sharedFramework => product}/breadcrumbstorefolder.wxs (100%) rename src/pkg/packaging-tools/windows/{ => product}/product.common.wxi (100%) rename src/pkg/packaging-tools/windows/{sharedFramework => product}/product.wxs (52%) rename src/pkg/{packaging/windows/host => packaging-tools/windows/product}/provider.wxs (90%) create mode 100644 src/pkg/packaging-tools/windows/product/registrykeys.wxs create mode 100644 src/pkg/packaging-tools/windows/product/sharedfxdir.wxs rename src/pkg/packaging-tools/windows/{sharedFramework => product}/werrelatedkeys.wxs (100%) delete mode 100644 src/pkg/packaging-tools/windows/provider.wxs delete mode 100644 src/pkg/packaging-tools/windows/sharedFramework/registrykeys.wxs rename src/pkg/{packaging/windows/vscomponents => packaging-tools/windows/vs}/VS.Redist.Common.Component.nuspec (100%) create mode 100644 src/pkg/packaging/vs-insertion-packages.proj delete mode 100644 src/pkg/packaging/windows/host/generatemsi.ps1 delete mode 100644 src/pkg/packaging/windows/host/host.wxs delete mode 100644 src/pkg/packaging/windows/host/variables.wxi delete mode 100644 src/pkg/packaging/windows/hostfxr/generatemsi.ps1 delete mode 100644 src/pkg/packaging/windows/hostfxr/hostfxr.wxs delete mode 100644 src/pkg/packaging/windows/hostfxr/provider.wxs delete mode 100644 src/pkg/packaging/windows/hostfxr/registrykeys.wxs delete mode 100644 src/pkg/packaging/windows/hostfxr/variables.wxi delete mode 100644 src/pkg/packaging/windows/package.props delete mode 100644 src/pkg/packaging/windows/package.targets delete mode 100644 src/pkg/packaging/windows/sharedframework/bundle.wxs delete mode 100644 src/pkg/packaging/windows/sharedframework/generatebundle.ps1 delete mode 100644 src/pkg/packaging/windows/sharedframework/variables.wxi delete mode 100644 src/pkg/packaging/windows/vscomponents/generatenupkg.ps1 create mode 100644 src/pkg/projects/Microsoft.NETCore.DotNetHost/host.wxs create mode 100644 src/pkg/projects/netcoreapp/sfx/Microsoft.NETCore.App.Bundle.bundleproj rename src/pkg/{packaging/windows/sharedframework => projects/netcoreapp/sfx}/bundle.thm (100%) rename src/pkg/{packaging/windows/sharedframework => projects/netcoreapp/sfx}/bundle.wxl (100%) rename src/pkg/{packaging/windows/sharedframework => projects/netcoreapp/sfx}/theme/1028/bundle.wxl (100%) rename src/pkg/{packaging/windows/sharedframework => projects/netcoreapp/sfx}/theme/1029/bundle.wxl (100%) rename src/pkg/{packaging/windows/sharedframework => projects/netcoreapp/sfx}/theme/1031/bundle.wxl (100%) rename src/pkg/{packaging/windows/sharedframework => projects/netcoreapp/sfx}/theme/1033/bundle.wxl (100%) rename src/pkg/{packaging/windows/sharedframework => projects/netcoreapp/sfx}/theme/1036/bundle.wxl (100%) rename src/pkg/{packaging/windows/sharedframework => projects/netcoreapp/sfx}/theme/1040/bundle.wxl (100%) rename src/pkg/{packaging/windows/sharedframework => projects/netcoreapp/sfx}/theme/1041/bundle.wxl (100%) rename src/pkg/{packaging/windows/sharedframework => projects/netcoreapp/sfx}/theme/1042/bundle.wxl (100%) rename src/pkg/{packaging/windows/sharedframework => projects/netcoreapp/sfx}/theme/1045/bundle.wxl (100%) rename src/pkg/{packaging/windows/sharedframework => projects/netcoreapp/sfx}/theme/1046/bundle.wxl (100%) rename src/pkg/{packaging/windows/sharedframework => projects/netcoreapp/sfx}/theme/1049/bundle.wxl (100%) rename src/pkg/{packaging/windows/sharedframework => projects/netcoreapp/sfx}/theme/1055/bundle.wxl (100%) rename src/pkg/{packaging/windows/sharedframework => projects/netcoreapp/sfx}/theme/2052/bundle.wxl (100%) rename src/pkg/{packaging/windows/sharedframework => projects/netcoreapp/sfx}/theme/3082/bundle.wxl (100%) create mode 100644 src/pkg/projects/windowsdesktop/sfx/Microsoft.WindowsDesktop.App.Bundle.bundleproj create mode 100644 src/pkg/projects/windowsdesktop/sfx/bundle.thm create mode 100644 src/pkg/projects/windowsdesktop/sfx/bundle.wxl create mode 100644 src/pkg/projects/windowsdesktop/sfx/theme/1028/bundle.wxl create mode 100644 src/pkg/projects/windowsdesktop/sfx/theme/1029/bundle.wxl create mode 100644 src/pkg/projects/windowsdesktop/sfx/theme/1031/bundle.wxl create mode 100644 src/pkg/projects/windowsdesktop/sfx/theme/1033/bundle.wxl create mode 100644 src/pkg/projects/windowsdesktop/sfx/theme/1036/bundle.wxl create mode 100644 src/pkg/projects/windowsdesktop/sfx/theme/1040/bundle.wxl create mode 100644 src/pkg/projects/windowsdesktop/sfx/theme/1041/bundle.wxl create mode 100644 src/pkg/projects/windowsdesktop/sfx/theme/1042/bundle.wxl create mode 100644 src/pkg/projects/windowsdesktop/sfx/theme/1045/bundle.wxl create mode 100644 src/pkg/projects/windowsdesktop/sfx/theme/1046/bundle.wxl create mode 100644 src/pkg/projects/windowsdesktop/sfx/theme/1049/bundle.wxl create mode 100644 src/pkg/projects/windowsdesktop/sfx/theme/1055/bundle.wxl create mode 100644 src/pkg/projects/windowsdesktop/sfx/theme/2052/bundle.wxl create mode 100644 src/pkg/projects/windowsdesktop/sfx/theme/3082/bundle.wxl create mode 100644 tools-local/tasks/ExecWithRetries.cs diff --git a/Directory.Build.targets b/Directory.Build.targets index 2bd1d07a77..59f1ffd96d 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -19,6 +19,13 @@ $(MajorVersion).$(MinorVersion) + + + + + + + + + + + @@ -38,11 +42,14 @@ - + - + + diff --git a/signing/Directory.Build.targets b/signing/Directory.Build.targets index 64541ae4b1..0afd9438c6 100644 --- a/signing/Directory.Build.targets +++ b/signing/Directory.Build.targets @@ -1,21 +1,15 @@ - - - - - - + + + + - + + + + + + + diff --git a/signing/SignBurnBundleFiles.proj b/signing/SignBurnBundleFiles.proj index 35e3d8428b..28eb9f24b3 100644 --- a/signing/SignBurnBundleFiles.proj +++ b/signing/SignBurnBundleFiles.proj @@ -1,2 +1,11 @@ + + + + + + diff --git a/signing/SignBurnEngineFiles.proj b/signing/SignBurnEngineFiles.proj index 35e3d8428b..382eb20231 100644 --- a/signing/SignBurnEngineFiles.proj +++ b/signing/SignBurnEngineFiles.proj @@ -1,2 +1,13 @@ + + + + + + + + + + diff --git a/signing/SignMsiFiles.proj b/signing/SignMsiFiles.proj index dc4a1eb2cd..7fd756ddce 100644 --- a/signing/SignMsiFiles.proj +++ b/signing/SignMsiFiles.proj @@ -4,4 +4,16 @@ + + + + + + + diff --git a/src/pkg/Directory.Build.props b/src/pkg/Directory.Build.props index 7c741f2e7b..701b2324e7 100644 --- a/src/pkg/Directory.Build.props +++ b/src/pkg/Directory.Build.props @@ -63,13 +63,6 @@ $(IntermediateOutputRootPath)wix/ $(WixObjRoot)$(MSBuildProjectName)/ $(TargetArchitecture) - $(MSBuildThisFileDirectory)packaging/windows/eula.rtf - - true - false - false - - true + DependsOnTargets="GetAcquireWixProperties"> diff --git a/src/pkg/packaging-tools/acquire-nuget-exe/acquire-nuget-exe.proj b/src/pkg/packaging-tools/acquire-nuget-exe/acquire-nuget-exe.proj new file mode 100644 index 0000000000..a71039ffb0 --- /dev/null +++ b/src/pkg/packaging-tools/acquire-nuget-exe/acquire-nuget-exe.proj @@ -0,0 +1,20 @@ + + + + + + + + + + + + + diff --git a/src/pkg/packaging-tools/framework.bundle.props b/src/pkg/packaging-tools/framework.bundle.props new file mode 100644 index 0000000000..f9d91dc259 --- /dev/null +++ b/src/pkg/packaging-tools/framework.bundle.props @@ -0,0 +1,10 @@ + + + + + true + + + diff --git a/src/pkg/packaging-tools/framework.bundle.targets b/src/pkg/packaging-tools/framework.bundle.targets new file mode 100644 index 0000000000..11fdd231ba --- /dev/null +++ b/src/pkg/packaging-tools/framework.bundle.targets @@ -0,0 +1,23 @@ + + + + + + + + $(ShortFrameworkName)-runtime + $(SharedFrameworkBrandName) + + + + + + + + diff --git a/src/pkg/packaging-tools/framework.packaging.props b/src/pkg/packaging-tools/framework.packaging.props index 672ed07a42..b76183c4ce 100644 --- a/src/pkg/packaging-tools/framework.packaging.props +++ b/src/pkg/packaging-tools/framework.packaging.props @@ -3,6 +3,13 @@ Shared properties specific to packaging projects (pkgproj). --> + + true + true + true + true + + diff --git a/src/pkg/packaging-tools/framework.packaging.targets b/src/pkg/packaging-tools/framework.packaging.targets index 1dcd7cea6a..5bcaf46d24 100644 --- a/src/pkg/packaging-tools/framework.packaging.targets +++ b/src/pkg/packaging-tools/framework.packaging.targets @@ -3,6 +3,60 @@ Shared targets specific to projects building 'Microsoft.*.App*' packages. --> + + + $(ShortFrameworkName)-targeting-pack + $(TargetingPackBrandName) + TargetingPack + + + + + + $(ShortFrameworkName)-apphost-pack + $(AppHostPackBrandName) + AppHostPack + + + + + + + false + false + false + false + + + + + + + false + false + false + + + + + false + + + + + true + true + + $(NETCoreAppFramework) unused diff --git a/src/pkg/packaging-tools/framework.sharedfx.targets b/src/pkg/packaging-tools/framework.sharedfx.targets index 7fa7e5d479..44602c26c1 100644 --- a/src/pkg/packaging-tools/framework.sharedfx.targets +++ b/src/pkg/packaging-tools/framework.sharedfx.targets @@ -5,6 +5,19 @@ + + + $(ShortFrameworkName)-runtime + $(SharedFrameworkBrandName) + SharedFramework + + + diff --git a/src/pkg/packaging-tools/installer.targets b/src/pkg/packaging-tools/installer.targets index 20880857de..ba1ae2182c 100644 --- a/src/pkg/packaging-tools/installer.targets +++ b/src/pkg/packaging-tools/installer.targets @@ -13,16 +13,18 @@ - - - + + + + @@ -150,11 +152,15 @@ - - + + + + com.microsoft.$(ShortFrameworkName).pack.$(FrameworkPackType).$(ProductVersion).component.osx.x64 + /usr/local/share/dotnet + <_pkgArgs> <_pkgArgs>$(_pkgArgs) --root $(PackLayoutDir) <_pkgArgs>$(_pkgArgs) --identifier $(MacOSComponentName) diff --git a/src/pkg/packaging-tools/packaging-tools.props b/src/pkg/packaging-tools/packaging-tools.props index 2f2ce2bfe2..a3436a00e3 100644 --- a/src/pkg/packaging-tools/packaging-tools.props +++ b/src/pkg/packaging-tools/packaging-tools.props @@ -1,5 +1,6 @@ + diff --git a/src/pkg/packaging-tools/packaging-tools.targets b/src/pkg/packaging-tools/packaging-tools.targets index 853f605e9b..68bfe61f6c 100644 --- a/src/pkg/packaging-tools/packaging-tools.targets +++ b/src/pkg/packaging-tools/packaging-tools.targets @@ -4,6 +4,7 @@ Include common targets for specific project types. These files include BuildTools target overrides that shouldn't be applied to other projects. --> + @@ -14,51 +15,44 @@ - - - - - $(ShortFrameworkName)-targeting-pack - $(TargetingPackBrandName) - + + + + <_supportsWixBasedInstallers>true + <_supportsWixBasedInstallers Condition="'$(TargetArchitecture)' == 'arm' or '$(TargetArchitecture)' == 'arm64'">false + <_supportsWixBasedInstallers Condition="'$(OSGroup)' != 'Windows_NT'">false - - $(ShortFrameworkName)-apphost-pack - $(AppHostPackBrandName) - + false + false - - - false - false - false - false + false - - - false - + + + false + false + + + + Text="InstallerName '$(InstallerName)' is empty or starts with a '-': expected a value like 'dotnet-runtime'." + Condition="'$(InstallerName)' == '' or $(InstallerName.StartsWith('-'))" /> - com.microsoft.$(ShortFrameworkName).pack.$(FrameworkPackType).$(ProductVersion).component.osx.x64 - /usr/local/share/dotnet - $(InstallerName)-$(ProductBandVersion) $(VersionedInstallerName.ToLowerInvariant()) 1 @@ -82,9 +76,10 @@ $(ProductVersion)-$(TargetArchitecture) - + $(InstallerName)-$(InstallerBuildPart) $(AssetOutputPath)$(InstallerFileNameWithoutExtension)$(InstallerExtension) + $(AssetOutputPath)$(InstallerFileNameWithoutExtension).exe $(AssetOutputPath)$(InstallerFileNameWithoutExtension)$(CompressedFileExtension) @@ -92,21 +87,6 @@ $(SharedFrameworkLayoutDir)shared/ - - - - false - false - false - false - - - - - false - false - false - @@ -136,6 +116,24 @@ + + + + + + + + $(PackagingToolsDir)acquire-nuget-exe\acquire-nuget-exe.proj + + https://dist.nuget.org/win-x86-commandline/v3.5.0/nuget.exe + $(IntermediateOutputRootPath)nuget\ + $(NuGetExeToolDir)NuGet.exe + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + eula.rtf + + + + + diff --git a/src/pkg/packaging/windows/sharedframework/dummyEula.rtf b/src/pkg/packaging-tools/windows/bundle/dummyEula.rtf similarity index 100% rename from src/pkg/packaging/windows/sharedframework/dummyEula.rtf rename to src/pkg/packaging-tools/windows/bundle/dummyEula.rtf diff --git a/src/pkg/packaging/windows/eula.rtf b/src/pkg/packaging-tools/windows/eula.rtf similarity index 100% rename from src/pkg/packaging/windows/eula.rtf rename to src/pkg/packaging-tools/windows/eula.rtf diff --git a/src/pkg/packaging-tools/windows/pack/product.wxs b/src/pkg/packaging-tools/windows/pack/product.wxs deleted file mode 100644 index ce6f91ad9d..0000000000 --- a/src/pkg/packaging-tools/windows/pack/product.wxs +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/pkg/packaging-tools/windows/sharedFramework/breadcrumbstorefolder.wxs b/src/pkg/packaging-tools/windows/product/breadcrumbstorefolder.wxs similarity index 100% rename from src/pkg/packaging-tools/windows/sharedFramework/breadcrumbstorefolder.wxs rename to src/pkg/packaging-tools/windows/product/breadcrumbstorefolder.wxs diff --git a/src/pkg/packaging-tools/windows/product.common.wxi b/src/pkg/packaging-tools/windows/product/product.common.wxi similarity index 100% rename from src/pkg/packaging-tools/windows/product.common.wxi rename to src/pkg/packaging-tools/windows/product/product.common.wxi diff --git a/src/pkg/packaging-tools/windows/sharedFramework/product.wxs b/src/pkg/packaging-tools/windows/product/product.wxs similarity index 52% rename from src/pkg/packaging-tools/windows/sharedFramework/product.wxs rename to src/pkg/packaging-tools/windows/product/product.wxs index 93396d5ada..1bf18ed9e2 100644 --- a/src/pkg/packaging-tools/windows/sharedFramework/product.wxs +++ b/src/pkg/packaging-tools/windows/product/product.wxs @@ -11,11 +11,16 @@ Manufacturer="$(var.Manufacturer)" UpgradeCode="$(var.UpgradeCode)"> - + - - + + + + + + + @@ -24,15 +29,26 @@ + + + + + + + + + + + + + - - - + diff --git a/src/pkg/packaging/windows/host/provider.wxs b/src/pkg/packaging-tools/windows/product/provider.wxs similarity index 90% rename from src/pkg/packaging/windows/host/provider.wxs rename to src/pkg/packaging-tools/windows/product/provider.wxs index 67f61e3e65..5fe17f2a73 100644 --- a/src/pkg/packaging/windows/host/provider.wxs +++ b/src/pkg/packaging-tools/windows/product/provider.wxs @@ -1,6 +1,6 @@ - + diff --git a/src/pkg/packaging-tools/windows/product/registrykeys.wxs b/src/pkg/packaging-tools/windows/product/registrykeys.wxs new file mode 100644 index 0000000000..5711e2a38b --- /dev/null +++ b/src/pkg/packaging-tools/windows/product/registrykeys.wxs @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/pkg/packaging-tools/windows/product/sharedfxdir.wxs b/src/pkg/packaging-tools/windows/product/sharedfxdir.wxs new file mode 100644 index 0000000000..49c02a53ee --- /dev/null +++ b/src/pkg/packaging-tools/windows/product/sharedfxdir.wxs @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/pkg/packaging-tools/windows/sharedFramework/werrelatedkeys.wxs b/src/pkg/packaging-tools/windows/product/werrelatedkeys.wxs similarity index 100% rename from src/pkg/packaging-tools/windows/sharedFramework/werrelatedkeys.wxs rename to src/pkg/packaging-tools/windows/product/werrelatedkeys.wxs diff --git a/src/pkg/packaging-tools/windows/provider.wxs b/src/pkg/packaging-tools/windows/provider.wxs deleted file mode 100644 index 67f61e3e65..0000000000 --- a/src/pkg/packaging-tools/windows/provider.wxs +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/src/pkg/packaging-tools/windows/sharedFramework/registrykeys.wxs b/src/pkg/packaging-tools/windows/sharedFramework/registrykeys.wxs deleted file mode 100644 index 95cd684d60..0000000000 --- a/src/pkg/packaging-tools/windows/sharedFramework/registrykeys.wxs +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/src/pkg/packaging/windows/vscomponents/VS.Redist.Common.Component.nuspec b/src/pkg/packaging-tools/windows/vs/VS.Redist.Common.Component.nuspec similarity index 100% rename from src/pkg/packaging/windows/vscomponents/VS.Redist.Common.Component.nuspec rename to src/pkg/packaging-tools/windows/vs/VS.Redist.Common.Component.nuspec diff --git a/src/pkg/packaging-tools/windows/wix.targets b/src/pkg/packaging-tools/windows/wix.targets index 4fb931a447..1d082736ce 100644 --- a/src/pkg/packaging-tools/windows/wix.targets +++ b/src/pkg/packaging-tools/windows/wix.targets @@ -6,38 +6,79 @@ this file and switch to wixproj. See https://github.com/wixtoolset/issues/issues/5627 --> + + + + + + $(BundleInstallerUpgradeCodeSeed) $(ProductBandVersion) $(PackageTargetRid) + + + + + + + + - + - - + + + + + + + + + + - + + + + + + + + + + + + - - + - + + - - + + + + + - + - + + + + + + + + + - + + + + + + + + + + + + + + $(ExeBundleInstallerFile) + + + + + + + $(InstallerFile) + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + $(VSInsertionCommonPrefix).$(VSInsertionProductName).$(VSInsertionShortComponentName).$(TargetArchitecture).$(ProductBandVersion) + $(ProductBandVersion) $(ProductBrandPrefix) $(VSInsertionShortComponentName) + + $(ArtifactsNonShippingPackagesDir)$(VSInsertionComponentName).$(ProductVersion).nupkg + + https://github.com/dotnet/core-setup + + + $(PackProperties)COMPONENT_MSI=$(OutInstallerFile); + $(PackProperties)ARCH=$(MsiArch); + $(PackProperties)COMPONENT_NAME=$(VSInsertionComponentName); + $(PackProperties)FRIENDLY_NAME=$(VSInsertionComponentFriendlyName); + $(PackProperties)PROJECT_URL=$(ProjectUrlForVS); + + + $(PackArgs) $(MSBuildThisFileDirectory)vs\VS.Redist.Common.Component.nuspec + $(PackArgs) -Version $(ProductVersion) + $(PackArgs) -OutputDirectory $(ArtifactsNonShippingPackagesDir) + $(PackArgs) -NoDefaultExcludes + $(PackArgs) -NoPackageAnalysis + $(PackArgs) -Properties "$(PackProperties)" - - + + + + + + + + + + + + + + + diff --git a/src/pkg/packaging/installers.proj b/src/pkg/packaging/installers.proj index a3079acf30..2f503266d5 100644 --- a/src/pkg/packaging/installers.proj +++ b/src/pkg/packaging/installers.proj @@ -17,9 +17,7 @@ DependsOnTargets=" BuildDependencies; BuildInstallers; - BuildCombinedInstallers; - SignCombinedInstallers; - GenerateVSNugetPackages" + SignCombinedInstallers" Condition="'$(DOTNET_BUILD_SKIP_PACKAGING)' != 'true'" /> - - - - - - + Condition="'$(UsePrebuiltPortableBinariesForInstallers)' != 'true'" + DependsOnTargets="GetSharedFrameworkProjects"> - - GenerateMsis; GeneratePkgs; GenerateDebs; GenerateRpms; @@ -262,86 +247,4 @@ - - - - - - - - - - $(MSBuildThisFileDirectory)windows/vscomponents/VS.Redist.Common.Component.nuspec - $(MSBuildThisFileDirectory)windows/vscomponents/generatenupkg.ps1 - https://github.com/dotnet/core-setup - - - - - $(HostFxrInstallerFile) - VS.Redist.Common.NetCore.HostFXR.$(TargetArchitecture).$(NETCoreAppFrameworkVersion) - $(SharedFrameworkNugetVersion) - $(NETCoreAppFrameworkVersion) .NET Core HostFX Resolver - - - $(AppHostPackInstallerFile) - VS.Redist.Common.NetCore.AppHostPack.$(TargetArchitecture).$(NETCoreAppFrameworkVersion) - $(SharedFrameworkNugetVersion) - $(NETCoreAppFrameworkVersion) .NET Core AppHost Pack - - - $(SharedFrameworkInstallerFile) - VS.Redist.Common.NetCore.SharedFramework.$(TargetArchitecture).$(NETCoreAppFrameworkVersion) - $(SharedFrameworkNugetVersion) - $(NETCoreAppFrameworkVersion) .NET Core SharedFramework - - - $(SharedHostInstallerFile) - VS.Redist.Common.NetCore.SharedHost.$(TargetArchitecture).$(NETCoreAppFrameworkVersion) - $(SharedFrameworkNugetVersion) - $(NETCoreAppFrameworkVersion) .NET Core SharedHost - - - $(NetStandardTargetingPackInstallerFile) - VS.Redist.Common.NetStandard.TargetingPack.$(TargetArchitecture).$(NetStandardProductBandVersion) - $(NetStandardProductBandVersion).$(PatchVersion)$(ProductVersionSuffix) - $(NetStandardProductBandVersion) .NET Standard TargetingPack - - - $(TargetingPackInstallerFile) - VS.Redist.Common.NetCore.TargetingPack.$(TargetArchitecture).$(NETCoreAppFrameworkVersion) - $(SharedFrameworkNugetVersion) - $(NETCoreAppFrameworkVersion) .NET Core TargetingPack - - - $(WindowsDesktopSharedFrameworkInstallerFile) - VS.Redist.Common.WindowsDesktop.SharedFramework.$(TargetArchitecture).$(NETCoreAppFrameworkVersion) - $(SharedFrameworkNugetVersion) - $(NETCoreAppFrameworkVersion) WindowsDesktop SharedFramework - - - $(WindowsDesktopTargetingPackInstallerFile) - VS.Redist.Common.WindowsDesktop.TargetingPack.$(TargetArchitecture).$(NETCoreAppFrameworkVersion) - $(SharedFrameworkNugetVersion) - $(NETCoreAppFrameworkVersion) WindowsDesktop TargetingPack - - - - diff --git a/src/pkg/packaging/vs-insertion-packages.proj b/src/pkg/packaging/vs-insertion-packages.proj new file mode 100644 index 0000000000..86af084d80 --- /dev/null +++ b/src/pkg/packaging/vs-insertion-packages.proj @@ -0,0 +1,21 @@ + + + + + $(NETCoreAppFramework) + + + + + + + + + + + + + diff --git a/src/pkg/packaging/windows/host/generatemsi.ps1 b/src/pkg/packaging/windows/host/generatemsi.ps1 deleted file mode 100644 index 2906d40ec1..0000000000 --- a/src/pkg/packaging/windows/host/generatemsi.ps1 +++ /dev/null @@ -1,120 +0,0 @@ -# Licensed to the .NET Foundation under one or more agreements. -# The .NET Foundation licenses this file to you under the MIT license. -# See the LICENSE file in the project root for more information. - -param( - [Parameter(Mandatory=$true)][string]$SharedHostPublishRoot, - [Parameter(Mandatory=$true)][string]$DotnetHostMSIOutput, - [Parameter(Mandatory=$true)][string]$WixRoot, - [Parameter(Mandatory=$true)][string]$ProductMoniker, - [Parameter(Mandatory=$true)][string]$SharedHostMSIVersion, - [Parameter(Mandatory=$true)][string]$SharedHostNugetVersion, - [Parameter(Mandatory=$true)][string]$Architecture, - [Parameter(Mandatory=$true)][string]$TargetArchitecture, - [Parameter(Mandatory=$true)][string]$WixObjRoot, - [Parameter(Mandatory=$true)][string]$SharedHostUpgradeCode -) - -$RepoRoot = Convert-Path "$PSScriptRoot\..\..\..\..\.." -$CommonScript = "$RepoRoot\tools-local\scripts\common\_common.ps1" -if(-Not (Test-Path "$CommonScript")) -{ - Exit -1 -} -. "$CommonScript" - -$PackagingRoot = Join-Path $RepoRoot "src\pkg\packaging" -function RunCandle -{ - $result = $true - pushd "$WixRoot" - - Write-Host Running candle.. - $AuthWsxRoot = Join-Path $PackagingRoot "windows\host" - - .\candle.exe -nologo ` - -out "$WixObjRoot\" ` - -ext WixDependencyExtension.dll ` - -dHostSrc="$SharedHostPublishRoot" ` - -dMicrosoftEula="$PackagingRoot\windows\eula.rtf" ` - -dProductMoniker="$ProductMoniker" ` - -dBuildVersion="$SharedHostMSIVersion" ` - -dNugetVersion="$SharedHostNugetVersion" ` - -dTargetArchitecture="$TargetArchitecture" ` - -dUpgradeCode="$SharedHostUpgradeCode" ` - -arch $Architecture ` - "$AuthWsxRoot\host.wxs" ` - "$AuthWsxRoot\provider.wxs" | Out-Host - - if($LastExitCode -ne 0) - { - $result = $false - Write-Host "Candle failed with exit code $LastExitCode." - } - - popd - return $result -} - -function RunLight -{ - $result = $true - pushd "$WixRoot" - - Write-Host Running light.. - - .\light.exe -nologo ` - -ext WixUIExtension.dll ` - -ext WixDependencyExtension.dll ` - -ext WixUtilExtension.dll ` - -cultures:en-us ` - "$WixObjRoot\host.wixobj" ` - "$WixObjRoot\provider.wixobj" ` - -out $DotnetHostMSIOutput | Out-Host - - if($LastExitCode -ne 0) - { - $result = $false - Write-Host "Light failed with exit code $LastExitCode." - } - - popd - return $result -} - -if(!(Test-Path $SharedHostPublishRoot)) -{ - throw "$SharedHostPublishRoot not found" -} - -if(!(Test-Path $WixObjRoot)) -{ - throw "$WixObjRoot not found" -} - -Write-Host "Creating shared host MSI at $DotnetHostMSIOutput" - -if([string]::IsNullOrEmpty($WixRoot)) -{ - Exit -1 -} - -if(-Not (RunCandle)) -{ - Exit -1 -} - -if(-Not (RunLight)) -{ - Exit -1 -} - -if(!(Test-Path $DotnetHostMSIOutput)) -{ - throw "Unable to create the shared host msi." - Exit -1 -} - -Write-Host -ForegroundColor Green "Successfully created shared host MSI - $DotnetHostMSIOutput" - -exit $LastExitCode diff --git a/src/pkg/packaging/windows/host/host.wxs b/src/pkg/packaging/windows/host/host.wxs deleted file mode 100644 index c09deaeded..0000000000 --- a/src/pkg/packaging/windows/host/host.wxs +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/pkg/packaging/windows/host/variables.wxi b/src/pkg/packaging/windows/host/variables.wxi deleted file mode 100644 index 3022464e1c..0000000000 --- a/src/pkg/packaging/windows/host/variables.wxi +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/pkg/packaging/windows/hostfxr/generatemsi.ps1 b/src/pkg/packaging/windows/hostfxr/generatemsi.ps1 deleted file mode 100644 index 2b2473daa0..0000000000 --- a/src/pkg/packaging/windows/hostfxr/generatemsi.ps1 +++ /dev/null @@ -1,164 +0,0 @@ -# Licensed to the .NET Foundation under one or more agreements. -# The .NET Foundation licenses this file to you under the MIT license. -# See the LICENSE file in the project root for more information. - -param( - [Parameter(Mandatory=$true)][string]$HostFxrPublishRoot, - [Parameter(Mandatory=$true)][string]$HostFxrMSIOutput, - [Parameter(Mandatory=$true)][string]$WixRoot, - [Parameter(Mandatory=$true)][string]$ProductMoniker, - [Parameter(Mandatory=$true)][string]$HostFxrMSIVersion, - [Parameter(Mandatory=$true)][string]$HostFxrNugetVersion, - [Parameter(Mandatory=$true)][string]$Architecture, - [Parameter(Mandatory=$true)][string]$TargetArchitecture, - [Parameter(Mandatory=$true)][string]$WixObjRoot, - [Parameter(Mandatory=$true)][string]$HostFxrUpgradeCode -) - -$RepoRoot = Convert-Path "$PSScriptRoot\..\..\..\..\.." -$CommonScript = "$RepoRoot\tools-local\scripts\common\_common.ps1" - -if(-Not (Test-Path "$CommonScript")) -{ - Exit -1 -} -. "$CommonScript" - -$PackagingRoot = Join-Path $RepoRoot "src\pkg\packaging" - -$InstallFileswsx = "$WixObjRoot\install-files.wxs" -$InstallFilesWixobj = "$WixObjRoot\install-files.wixobj" - -function RunHeat -{ - $result = $true - pushd "$WixRoot" - - Write-Host Running heat.. - - .\heat.exe dir `"$HostFxrPublishRoot`" ` - -nologo ` - -template fragment ` - -sreg -gg ` - -var var.HostFxrSrc ` - -cg InstallFiles ` - -srd ` - -dr DOTNETHOME ` - -out $InstallFileswsx | Out-Host - - if($LastExitCode -ne 0) - { - $result = $false - Write-Host "Heat failed with exit code $LastExitCode." - } - - popd - return $result -} - -function RunCandle -{ - $result = $true - pushd "$WixRoot" - - Write-Host Running candle.. - $AuthWsxRoot = Join-Path $PackagingRoot "windows\hostfxr" - - $ComponentVersion = $HostFxrNugetVersion.Replace('-', '_'); - - .\candle.exe -nologo ` - -out "$WixObjRoot\" ` - -dHostFxrSrc="$HostFxrPublishRoot" ` - -dMicrosoftEula="$PackagingRoot\windows\eula.rtf" ` - -dProductMoniker="$ProductMoniker" ` - -dBuildVersion="$HostFxrMSIVersion" ` - -dNugetVersion="$HostFxrNugetVersion" ` - -dComponentVersion="$ComponentVersion" ` - -dTargetArchitecture="$TargetArchitecture" ` - -dUpgradeCode="$HostFxrUpgradeCode" ` - -arch $Architecture ` - -ext WixDependencyExtension.dll ` - "$AuthWsxRoot\hostfxr.wxs" ` - "$AuthWsxRoot\provider.wxs" ` - "$AuthWsxRoot\registrykeys.wxs" ` - $InstallFileswsx | Out-Host - - if($LastExitCode -ne 0) - { - $result = $false - Write-Host "Candle failed with exit code $LastExitCode." - } - - popd - return $result -} - -function RunLight -{ - $result = $true - pushd "$WixRoot" - - Write-Host Running light.. - - .\light.exe -nologo ` - -ext WixUIExtension.dll ` - -ext WixDependencyExtension.dll ` - -ext WixUtilExtension.dll ` - -cultures:en-us ` - "$WixObjRoot\hostfxr.wixobj" ` - "$WixObjRoot\provider.wixobj" ` - "$WixObjRoot\registrykeys.wixobj" ` - "$InstallFilesWixobj" ` - -out $HostFxrMSIOutput | Out-Host - - if($LastExitCode -ne 0) - { - $result = $false - Write-Host "Light failed with exit code $LastExitCode." - } - - popd - return $result -} - -if(!(Test-Path $HostFxrPublishRoot)) -{ - throw "$SharedHostPublishRoot not found" -} - -if(!(Test-Path $WixObjRoot)) -{ - throw "$WixObjRoot not found" -} - -Write-Host "Creating shared Host FX Resolver MSI at $HostFxrMSIOutput" - -if([string]::IsNullOrEmpty($WixRoot)) -{ - Exit -1 -} - -if(-Not (RunHeat)) -{ - Exit -1 -} - -if(-Not (RunCandle)) -{ - Exit -1 -} - -if(-Not (RunLight)) -{ - Exit -1 -} - -if(!(Test-Path $HostFxrMSIOutput)) -{ - throw "Unable to create the shared host msi." - Exit -1 -} - -Write-Host -ForegroundColor Green "Successfully created shared host MSI - $HostFxrMSIOutput" - -exit $LastExitCode diff --git a/src/pkg/packaging/windows/hostfxr/hostfxr.wxs b/src/pkg/packaging/windows/hostfxr/hostfxr.wxs deleted file mode 100644 index 7a6d74a7b4..0000000000 --- a/src/pkg/packaging/windows/hostfxr/hostfxr.wxs +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/pkg/packaging/windows/hostfxr/provider.wxs b/src/pkg/packaging/windows/hostfxr/provider.wxs deleted file mode 100644 index 9fc76d1c88..0000000000 --- a/src/pkg/packaging/windows/hostfxr/provider.wxs +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/src/pkg/packaging/windows/hostfxr/registrykeys.wxs b/src/pkg/packaging/windows/hostfxr/registrykeys.wxs deleted file mode 100644 index 041102c4a5..0000000000 --- a/src/pkg/packaging/windows/hostfxr/registrykeys.wxs +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/src/pkg/packaging/windows/hostfxr/variables.wxi b/src/pkg/packaging/windows/hostfxr/variables.wxi deleted file mode 100644 index b0d4e682a6..0000000000 --- a/src/pkg/packaging/windows/hostfxr/variables.wxi +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/pkg/packaging/windows/package.props b/src/pkg/packaging/windows/package.props deleted file mode 100644 index b4dd74e42c..0000000000 --- a/src/pkg/packaging/windows/package.props +++ /dev/null @@ -1,7 +0,0 @@ - - - - $(PackagingRoot)windows\ - $(WixToolsDir)\insignia.exe - - \ No newline at end of file diff --git a/src/pkg/packaging/windows/package.targets b/src/pkg/packaging/windows/package.targets deleted file mode 100644 index 80191ef783..0000000000 --- a/src/pkg/packaging/windows/package.targets +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - $(SharedHostPublishRoot) - $(SharedHostBrandName) - $(SharedHostInstallerFile) - $(SharedHostUpgradeCode) - - - $(HostFxrPublishRoot) - $(HostFxrBrandName) - $(HostFxrInstallerFile) - $(HostFxrUpgradeCode) - - - - - - - - "$(MsiArch)" "$(TargetArchitecture)" - $(MsiVersionString) $(SharedFrameworkNugetVersion) $(ArchParams) - - - - - - - - $(WindowsScriptRoot)sharedframework\generatebundle.ps1 - $(SharedFrameworkInstallerFile) - $(SharedHostInstallerFile) - $(HostFxrInstallerFile) - $(CombinedInstallerFile) - - .NET Core Shared Framework Bundle Installer $(ProductBandVersion) $(PackageTargetRid) - $(SharedFrameworkBrandName) - "$(MsiArch)" "$(TargetArchitecture)" - - - - - - - - $(ShareFXMsi) $(HostMsi) $(HostFxrMsi) $(SharedBundle) $(WixToolsDir) '$(SharedBrandName)' $(MsiVersionString) $(BundleDisplayVersion) $(ProductBandVersion) $(SharedFrameworkName) $(SharedFrameworkNugetVersion) $(SharedBundleCode) $(ArchParams) - - - - - - - - - - - - - - diff --git a/src/pkg/packaging/windows/sharedframework/bundle.wxs b/src/pkg/packaging/windows/sharedframework/bundle.wxs deleted file mode 100644 index 49ed5f82d0..0000000000 --- a/src/pkg/packaging/windows/sharedframework/bundle.wxs +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - ((VersionNT > v6.1) OR (VersionNT = v6.1 AND ServicePackLevel >= 1)) - - - - - VersionNT64 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eula.rtf - - - - - diff --git a/src/pkg/packaging/windows/sharedframework/generatebundle.ps1 b/src/pkg/packaging/windows/sharedframework/generatebundle.ps1 deleted file mode 100644 index 1875060b45..0000000000 --- a/src/pkg/packaging/windows/sharedframework/generatebundle.ps1 +++ /dev/null @@ -1,158 +0,0 @@ -# Licensed to the .NET Foundation under one or more agreements. -# The .NET Foundation licenses this file to you under the MIT license. -# See the LICENSE file in the project root for more information. - -param( - [Parameter(Mandatory=$true)][string]$SharedFxMSIFile, - [Parameter(Mandatory=$true)][string]$SharedHostMSIFile, - [Parameter(Mandatory=$true)][string]$HostFxrMSIFile, - [Parameter(Mandatory=$true)][string]$DotnetBundleOutput, - [Parameter(Mandatory=$true)][string]$WixRoot, - [Parameter(Mandatory=$true)][string]$ProductMoniker, - [Parameter(Mandatory=$true)][string]$DotnetMSIVersion, - [Parameter(Mandatory=$true)][string]$DotnetCLIVersion, - [Parameter(Mandatory=$true)][string]$ProductBandVersion, - [Parameter(Mandatory=$true)][string]$SharedFrameworkNugetName, - [Parameter(Mandatory=$true)][string]$SharedFrameworkNugetVersion, - [Parameter(Mandatory=$true)][string]$SharedFrameworkUpgradeCode, - [Parameter(Mandatory=$true)][string]$TargetArchitecture, - [Parameter(Mandatory=$true)][string]$Architecture -) - -$RepoRoot = Convert-Path "$PSScriptRoot\..\..\..\..\.." -$CommonScript = "$RepoRoot\tools-local\scripts\common\_common.ps1" -if(-Not (Test-Path "$CommonScript")) -{ - Exit -1 -} -. "$CommonScript" - -$PackagingRoot = Join-Path $RepoRoot "src\pkg\packaging" - -function RunCandleForBundle -{ - $result = $true - pushd "$WixRoot" - - Write-Host Running candle for bundle.. - $AuthWsxRoot = Join-Path $PackagingRoot "windows\sharedframework" - $SharedFrameworkComponentVersion = $SharedFrameworkNugetVersion.Replace('-', '_'); - - $LcidList = (Get-ChildItem "$AuthWsxRoot\theme\*\bundle.wxl").Directory.Name -join ';' - - .\candle.exe -nologo ` - -dMicrosoftEula="$PackagingRoot\windows\eula.rtf" ` - -dProductMoniker="$ProductMoniker" ` - -dBuildVersion="$DotnetMSIVersion" ` - -dDisplayVersion="$DotnetCLIVersion" ` - -dProductBandVersion="$ProductBandVersion" ` - -dSharedFXMsiSourcePath="$SharedFxMSIFile" ` - -dSharedHostMsiSourcePath="$SharedHostMSIFile" ` - -dHostFxrMsiSourcePath="$HostFxrMSIFile" ` - -dFrameworkName="$SharedFrameworkNugetName" ` - -dFrameworkDisplayVersion="$SharedFrameworkNugetVersion" ` - -dFrameworkComponentVersion="$SharedFrameworkComponentVersion" ` - -dFrameworkUpgradeCode="$SharedFrameworkUpgradeCode" ` - -dTargetArchitecture="$TargetArchitecture" ` - -dLcidList="$LcidList" ` - -arch "$Architecture" ` - -ext WixBalExtension.dll ` - -ext WixUtilExtension.dll ` - -ext WixTagExtension.dll ` - "$AuthWsxRoot\bundle.wxs" | Out-Host - - if($LastExitCode -ne 0) - { - $result = $false - Write-Host "Candle failed with exit code $LastExitCode." - } - - popd - return $result -} - -function RunLightForBundle -{ - $result = $true - pushd "$WixRoot" - - Write-Host Running light for bundle.. - $AuthWsxRoot = Join-Path $PackagingRoot "windows\sharedframework" - - $lightLogFile = $null - $maxRetries = 5 - foreach ($retry in 0..$maxRetries) - { - if ($retry) - { - # Wait one second per number of retries. This is intended to avoid - # interference by Windows Defender by giving it time to catch up. - $sleepTime = $retry - Write-Host "Retrying after $($sleepTime)s of sleep..." - Start-Sleep $sleepTime - Write-Host "Retrying... (#$retry of $maxRetries)" - } - - $lightLogFile = Join-Path $WixTempPath "runtime-bundle-light-$retry.log" - - .\light.exe -nologo ` - -cultures:en-us ` - bundle.wixobj ` - -ext WixBalExtension.dll ` - -ext WixUtilExtension.dll ` - -ext WixTagExtension.dll ` - -b "$AuthWsxRoot" ` - -out $DotnetBundleOutput > $lightLogFile - - if($LastExitCode -ne 0) - { - $result = $false - - Write-Host "Light failed with exit code $LastExitCode. Output written to $lightLogFile" - } - else - { - $result = $true - break - } - } - - if ($lightLogFile) - { - Get-Content $lightLogFile | Out-Host - } - - popd - return $result -} - -Write-Host "Creating shared framework bundle at $DotnetBundleOutput" - -if([string]::IsNullOrEmpty($WixRoot)) -{ - Exit -1 -} - -$WixTempPath = Join-Path $WixRoot "wix_temp" -New-Item -ItemType Directory -Path $WixTempPath -Force | Out-Null -$env:WIX_TEMP = $WixTempPath - -if(-Not (RunCandleForBundle)) -{ - Exit -1 -} - -if(-Not (RunLightForBundle)) -{ - Exit -1 -} - -if(!(Test-Path $DotnetBundleOutput)) -{ - throw "Unable to create the dotnet bundle." - Exit -1 -} - -Write-Host -ForegroundColor Green "Successfully created shared framework bundle - $DotnetBundleOutput" - -exit $LastExitCode diff --git a/src/pkg/packaging/windows/sharedframework/variables.wxi b/src/pkg/packaging/windows/sharedframework/variables.wxi deleted file mode 100644 index 8864baff2d..0000000000 --- a/src/pkg/packaging/windows/sharedframework/variables.wxi +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/pkg/packaging/windows/vscomponents/generatenupkg.ps1 b/src/pkg/packaging/windows/vscomponents/generatenupkg.ps1 deleted file mode 100644 index 52cf538f50..0000000000 --- a/src/pkg/packaging/windows/vscomponents/generatenupkg.ps1 +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright (c) .NET Foundation and contributors. All rights reserved. -# Licensed under the MIT license. See LICENSE file in the project root for full license information. - -param( - [Parameter(Mandatory=$true)][string]$MsiPath, - [Parameter(Mandatory=$true)][string]$MsiVersion, - [Parameter(Mandatory=$true)][string]$NuspecFile, - [Parameter(Mandatory=$true)][string]$NupkgFile, - [Parameter(Mandatory=$true)][string]$Architecture, - [Parameter(Mandatory=$true)][string]$ComponentName, - [Parameter(Mandatory=$true)][string]$ComponentFriendlyName, - [Parameter(Mandatory=$true)][string]$ProjectUrl, - [Parameter(Mandatory=$true)][string]$BinDir -) - -$NuGetDir = Join-Path $BinDir "nuget" -$NuGetExe = Join-Path $NuGetDir "nuget.exe" -$OutputDirectory = [System.IO.Path]::GetDirectoryName($NupkgFile) - -if (-not (Test-Path $NuGetDir)) { - New-Item -ItemType Directory -Force -Path $NuGetDir | Out-Null -} - -if (-not (Test-Path $NuGetExe)) { - # Using 3.5.0 to workaround https://github.com/NuGet/Home/issues/5016 - Write-Output "Downloading nuget.exe to $NuGetExe" - wget https://dist.nuget.org/win-x86-commandline/v3.5.0/nuget.exe -OutFile $NuGetExe -} - -if (Test-Path $NupkgFile) { - Remove-Item -Force $NupkgFile -} - -& $NuGetExe pack $NuspecFile -Version $MsiVersion -OutputDirectory $OutputDirectory -NoDefaultExcludes -NoPackageAnalysis -Properties COMPONENT_MSI=$MsiPath`;ARCH=$Architecture`;COMPONENT_NAME=$ComponentName`;FRIENDLY_NAME=$ComponentFriendlyName`;PROJECT_URL=$ProjectUrl -Exit $LastExitCode diff --git a/src/pkg/projects/Directory.Build.props b/src/pkg/projects/Directory.Build.props index 29561a1cbc..0293800f15 100644 --- a/src/pkg/projects/Directory.Build.props +++ b/src/pkg/projects/Directory.Build.props @@ -41,6 +41,11 @@ true + + NetCore + VS.Redist.Common + + diff --git a/src/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHost.pkgproj b/src/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHost.pkgproj index 90c70036d1..d4c5824f7b 100644 --- a/src/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHost.pkgproj +++ b/src/pkg/projects/Microsoft.NETCore.DotNetHost/Microsoft.NETCore.DotNetHost.pkgproj @@ -2,8 +2,51 @@ HostVersion + + dotnet-host + true + + + $(SharedHostBrandName) + sharedhost + Dotnet_CLI_SharedHost + SharedHost + + $(IntermediateOutputPath)publishRoot/ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/pkg/projects/Microsoft.NETCore.DotNetHost/host.wxs b/src/pkg/projects/Microsoft.NETCore.DotNetHost/host.wxs new file mode 100644 index 0000000000..5ac81a9707 --- /dev/null +++ b/src/pkg/projects/Microsoft.NETCore.DotNetHost/host.wxs @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/pkg/projects/Microsoft.NETCore.DotNetHostResolver/Microsoft.NETCore.DotNetHostResolver.pkgproj b/src/pkg/projects/Microsoft.NETCore.DotNetHostResolver/Microsoft.NETCore.DotNetHostResolver.pkgproj index 3fb43c163d..e9df60e584 100644 --- a/src/pkg/projects/Microsoft.NETCore.DotNetHostResolver/Microsoft.NETCore.DotNetHostResolver.pkgproj +++ b/src/pkg/projects/Microsoft.NETCore.DotNetHostResolver/Microsoft.NETCore.DotNetHostResolver.pkgproj @@ -2,12 +2,49 @@ HostResolverVersion + + dotnet-hostfxr + true + + + $(HostFxrBrandName) + hostfxr + Dotnet_CLI_HostFxr + HostFXR + + $(IntermediateOutputPath)publishRoot/ + + + + + + + + + + + + + + + diff --git a/src/pkg/projects/netcoreapp/sfx/Microsoft.NETCore.App.Bundle.bundleproj b/src/pkg/projects/netcoreapp/sfx/Microsoft.NETCore.App.Bundle.bundleproj new file mode 100644 index 0000000000..7f2200f08d --- /dev/null +++ b/src/pkg/projects/netcoreapp/sfx/Microsoft.NETCore.App.Bundle.bundleproj @@ -0,0 +1,44 @@ + + + + + .NET Core Shared Framework Bundle Installer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/pkg/projects/netcoreapp/sfx/Microsoft.NETCore.App.SharedFx.sfxproj b/src/pkg/projects/netcoreapp/sfx/Microsoft.NETCore.App.SharedFx.sfxproj index 4c722a5ff5..9d2fc8a253 100644 --- a/src/pkg/projects/netcoreapp/sfx/Microsoft.NETCore.App.SharedFx.sfxproj +++ b/src/pkg/projects/netcoreapp/sfx/Microsoft.NETCore.App.SharedFx.sfxproj @@ -24,6 +24,8 @@ + + diff --git a/src/pkg/projects/windowsdesktop/Directory.Build.props b/src/pkg/projects/windowsdesktop/Directory.Build.props index a9b917f18e..96d3e7757b 100644 --- a/src/pkg/projects/windowsdesktop/Directory.Build.props +++ b/src/pkg/projects/windowsdesktop/Directory.Build.props @@ -12,6 +12,8 @@ Microsoft.WindowsDesktop.App + WindowsDesktop + + Windows Desktop Shared Framework Bundle Installer + + + + + + + + + + + diff --git a/src/pkg/projects/windowsdesktop/sfx/Microsoft.WindowsDesktop.App.SharedFx.sfxproj b/src/pkg/projects/windowsdesktop/sfx/Microsoft.WindowsDesktop.App.SharedFx.sfxproj index 8aa529c7ad..31468cbd49 100644 --- a/src/pkg/projects/windowsdesktop/sfx/Microsoft.WindowsDesktop.App.SharedFx.sfxproj +++ b/src/pkg/projects/windowsdesktop/sfx/Microsoft.WindowsDesktop.App.SharedFx.sfxproj @@ -3,12 +3,13 @@ Microsoft.WindowsDesktop.App - true true + + diff --git a/src/pkg/projects/windowsdesktop/sfx/bundle.thm b/src/pkg/projects/windowsdesktop/sfx/bundle.thm new file mode 100644 index 0000000000..d798f72c52 --- /dev/null +++ b/src/pkg/projects/windowsdesktop/sfx/bundle.thm @@ -0,0 +1,115 @@ + + + #(loc.Caption) + Segoe UI + Segoe UI + Segoe UI + Segoe UI + Segoe UI + Segoe UI + + #(loc.Title) + + + + + #(loc.HelpHeader) + #(loc.HelpText) + + + + + + + + + #(loc.WelcomeHeaderMessage) + #(loc.WelcomeDescription) + #(loc.LearnMoreTitle) + #(loc.DocumentationLink) + #(loc.PrivacyStatementLink) + #(loc.EulaLink) + + + + + + + + #(loc.OptionsHeader) + #(loc.OptionsLocationLabel) + + + + + + + + + #(loc.FilesInUseHeader) + #(loc.FilesInUseLabel) + + + + + + + + + + + + + + #(loc.ProgressHeader) + #(loc.ProgressLabel) + #(loc.OverallProgressPackageText) + + + + + + + + #(loc.ModifyHeader) + + + + + + + + + #(loc.SuccessHeader) + #(loc.SuccessInstallHeader) + #(loc.SuccessRepairHeader) + #(loc.SuccessUninstallHeader) + + #(loc.SuccessRestartText) + + #(loc.SuccessInstallLocation) + #(loc.SuccessInstallProductName) + #(loc.ResourcesHeader) + #(loc.DocumentationLink) + #(loc.RelaseNotesLink) + #(loc.TutorialLink) + #(loc.TelemetryLink) + + + + + + + + + #(loc.FailureHeader) + #(loc.FailureInstallHeader) + #(loc.FailureUninstallHeader) + #(loc.FailureRepairHeader) + #(loc.FailureHyperlinkLogText) + + #(loc.FailureRestartText) + + + + diff --git a/src/pkg/projects/windowsdesktop/sfx/bundle.wxl b/src/pkg/projects/windowsdesktop/sfx/bundle.wxl new file mode 100644 index 0000000000..fc82634582 --- /dev/null +++ b/src/pkg/projects/windowsdesktop/sfx/bundle.wxl @@ -0,0 +1,74 @@ + + + [WixBundleName] Installer + [BUNDLEMONIKER] + You just need a shell, a text editor and 10 minutes of your time. + +Ready? Set? Let's go! + Are you sure you want to cancel? + Previous version + Setup Help + /install | /repair | /uninstall | /layout [directory] - installs, repairs, uninstalls or + creates a complete local copy of the bundle in directory. Install is the default. + +/passive | /quiet - displays minimal UI with no prompts or displays no UI and + no prompts. By default UI and all prompts are displayed. + +/norestart - suppress any attempts to restart. By default UI will prompt before restart. +/log log.txt - logs to a specific file. By default a log file is created in %TEMP%. + &Close + I &agree to the license terms and conditions + &Options + &Install + &Close + Setup Options + Install location: + &Browse + &OK + &Cancel + Setup Progress + Processing: + Initializing... + &Cancel + Modify Setup + &Repair + &Uninstall + &Close + Repair Successfully Completed + Uninstall Successfully Completed + Installation was successful + Setup Successful + &Launch + You must restart your computer before you can use the software. + &Restart + &Close + Setup Failed + Setup Failed + Uninstall Failed + Repair Failed + One or more issues caused the setup to fail. Please fix the issues and then retry setup. For more information see the <a href="#">log file</a>. + You must restart your computer to complete the rollback of the software. + &Restart + &Close + The [PRODUCT_NAME] is not supported on this operating system. For more information, see [LINK_PREREQ_PAGE]. + The [PRODUCT_NAME] isn't supported on x86 operating systems. Please install using the corresponding x86 installer. + Files In Use + The following applications are using files that need to be updated: + Close the &applications and attempt to restart them. + &Do not close applications. A reboot will be required. + &OK + &Cancel + Windows Desktop Runtime + .NET Core is a development platform that you can use to build command-line applications, microservices and modern websites. It is open source, cross-platform, and supported by Microsoft. We hope you enjoy it! + Learn more about .NET Core + The following was installed at [DOTNETHOME] + - [BUNDLEMONIKER] + Resources + <A HREF="https://aka.ms/dotnet-docs">Documentation</A> + <A HREF="https://aka.ms/20-p2-rel-notes">Release Notes</A> + <A HREF="https://aka.ms/dotnet-tutorials">Tutorials</A> + <A HREF="https://aka.ms/dotnet-cli-telemetry">.NET Core Telemetry</A> + <A HREF="https://aka.ms/dev-privacy">Privacy Statement</A> + <A HREF="https://go.microsoft.com/fwlink/?LinkId=329770">.NET Library EULA</A> + + diff --git a/src/pkg/projects/windowsdesktop/sfx/theme/1028/bundle.wxl b/src/pkg/projects/windowsdesktop/sfx/theme/1028/bundle.wxl new file mode 100644 index 0000000000..fc82634582 --- /dev/null +++ b/src/pkg/projects/windowsdesktop/sfx/theme/1028/bundle.wxl @@ -0,0 +1,74 @@ + + + [WixBundleName] Installer + [BUNDLEMONIKER] + You just need a shell, a text editor and 10 minutes of your time. + +Ready? Set? Let's go! + Are you sure you want to cancel? + Previous version + Setup Help + /install | /repair | /uninstall | /layout [directory] - installs, repairs, uninstalls or + creates a complete local copy of the bundle in directory. Install is the default. + +/passive | /quiet - displays minimal UI with no prompts or displays no UI and + no prompts. By default UI and all prompts are displayed. + +/norestart - suppress any attempts to restart. By default UI will prompt before restart. +/log log.txt - logs to a specific file. By default a log file is created in %TEMP%. + &Close + I &agree to the license terms and conditions + &Options + &Install + &Close + Setup Options + Install location: + &Browse + &OK + &Cancel + Setup Progress + Processing: + Initializing... + &Cancel + Modify Setup + &Repair + &Uninstall + &Close + Repair Successfully Completed + Uninstall Successfully Completed + Installation was successful + Setup Successful + &Launch + You must restart your computer before you can use the software. + &Restart + &Close + Setup Failed + Setup Failed + Uninstall Failed + Repair Failed + One or more issues caused the setup to fail. Please fix the issues and then retry setup. For more information see the <a href="#">log file</a>. + You must restart your computer to complete the rollback of the software. + &Restart + &Close + The [PRODUCT_NAME] is not supported on this operating system. For more information, see [LINK_PREREQ_PAGE]. + The [PRODUCT_NAME] isn't supported on x86 operating systems. Please install using the corresponding x86 installer. + Files In Use + The following applications are using files that need to be updated: + Close the &applications and attempt to restart them. + &Do not close applications. A reboot will be required. + &OK + &Cancel + Windows Desktop Runtime + .NET Core is a development platform that you can use to build command-line applications, microservices and modern websites. It is open source, cross-platform, and supported by Microsoft. We hope you enjoy it! + Learn more about .NET Core + The following was installed at [DOTNETHOME] + - [BUNDLEMONIKER] + Resources + <A HREF="https://aka.ms/dotnet-docs">Documentation</A> + <A HREF="https://aka.ms/20-p2-rel-notes">Release Notes</A> + <A HREF="https://aka.ms/dotnet-tutorials">Tutorials</A> + <A HREF="https://aka.ms/dotnet-cli-telemetry">.NET Core Telemetry</A> + <A HREF="https://aka.ms/dev-privacy">Privacy Statement</A> + <A HREF="https://go.microsoft.com/fwlink/?LinkId=329770">.NET Library EULA</A> + + diff --git a/src/pkg/projects/windowsdesktop/sfx/theme/1029/bundle.wxl b/src/pkg/projects/windowsdesktop/sfx/theme/1029/bundle.wxl new file mode 100644 index 0000000000..fc82634582 --- /dev/null +++ b/src/pkg/projects/windowsdesktop/sfx/theme/1029/bundle.wxl @@ -0,0 +1,74 @@ + + + [WixBundleName] Installer + [BUNDLEMONIKER] + You just need a shell, a text editor and 10 minutes of your time. + +Ready? Set? Let's go! + Are you sure you want to cancel? + Previous version + Setup Help + /install | /repair | /uninstall | /layout [directory] - installs, repairs, uninstalls or + creates a complete local copy of the bundle in directory. Install is the default. + +/passive | /quiet - displays minimal UI with no prompts or displays no UI and + no prompts. By default UI and all prompts are displayed. + +/norestart - suppress any attempts to restart. By default UI will prompt before restart. +/log log.txt - logs to a specific file. By default a log file is created in %TEMP%. + &Close + I &agree to the license terms and conditions + &Options + &Install + &Close + Setup Options + Install location: + &Browse + &OK + &Cancel + Setup Progress + Processing: + Initializing... + &Cancel + Modify Setup + &Repair + &Uninstall + &Close + Repair Successfully Completed + Uninstall Successfully Completed + Installation was successful + Setup Successful + &Launch + You must restart your computer before you can use the software. + &Restart + &Close + Setup Failed + Setup Failed + Uninstall Failed + Repair Failed + One or more issues caused the setup to fail. Please fix the issues and then retry setup. For more information see the <a href="#">log file</a>. + You must restart your computer to complete the rollback of the software. + &Restart + &Close + The [PRODUCT_NAME] is not supported on this operating system. For more information, see [LINK_PREREQ_PAGE]. + The [PRODUCT_NAME] isn't supported on x86 operating systems. Please install using the corresponding x86 installer. + Files In Use + The following applications are using files that need to be updated: + Close the &applications and attempt to restart them. + &Do not close applications. A reboot will be required. + &OK + &Cancel + Windows Desktop Runtime + .NET Core is a development platform that you can use to build command-line applications, microservices and modern websites. It is open source, cross-platform, and supported by Microsoft. We hope you enjoy it! + Learn more about .NET Core + The following was installed at [DOTNETHOME] + - [BUNDLEMONIKER] + Resources + <A HREF="https://aka.ms/dotnet-docs">Documentation</A> + <A HREF="https://aka.ms/20-p2-rel-notes">Release Notes</A> + <A HREF="https://aka.ms/dotnet-tutorials">Tutorials</A> + <A HREF="https://aka.ms/dotnet-cli-telemetry">.NET Core Telemetry</A> + <A HREF="https://aka.ms/dev-privacy">Privacy Statement</A> + <A HREF="https://go.microsoft.com/fwlink/?LinkId=329770">.NET Library EULA</A> + + diff --git a/src/pkg/projects/windowsdesktop/sfx/theme/1031/bundle.wxl b/src/pkg/projects/windowsdesktop/sfx/theme/1031/bundle.wxl new file mode 100644 index 0000000000..fc82634582 --- /dev/null +++ b/src/pkg/projects/windowsdesktop/sfx/theme/1031/bundle.wxl @@ -0,0 +1,74 @@ + + + [WixBundleName] Installer + [BUNDLEMONIKER] + You just need a shell, a text editor and 10 minutes of your time. + +Ready? Set? Let's go! + Are you sure you want to cancel? + Previous version + Setup Help + /install | /repair | /uninstall | /layout [directory] - installs, repairs, uninstalls or + creates a complete local copy of the bundle in directory. Install is the default. + +/passive | /quiet - displays minimal UI with no prompts or displays no UI and + no prompts. By default UI and all prompts are displayed. + +/norestart - suppress any attempts to restart. By default UI will prompt before restart. +/log log.txt - logs to a specific file. By default a log file is created in %TEMP%. + &Close + I &agree to the license terms and conditions + &Options + &Install + &Close + Setup Options + Install location: + &Browse + &OK + &Cancel + Setup Progress + Processing: + Initializing... + &Cancel + Modify Setup + &Repair + &Uninstall + &Close + Repair Successfully Completed + Uninstall Successfully Completed + Installation was successful + Setup Successful + &Launch + You must restart your computer before you can use the software. + &Restart + &Close + Setup Failed + Setup Failed + Uninstall Failed + Repair Failed + One or more issues caused the setup to fail. Please fix the issues and then retry setup. For more information see the <a href="#">log file</a>. + You must restart your computer to complete the rollback of the software. + &Restart + &Close + The [PRODUCT_NAME] is not supported on this operating system. For more information, see [LINK_PREREQ_PAGE]. + The [PRODUCT_NAME] isn't supported on x86 operating systems. Please install using the corresponding x86 installer. + Files In Use + The following applications are using files that need to be updated: + Close the &applications and attempt to restart them. + &Do not close applications. A reboot will be required. + &OK + &Cancel + Windows Desktop Runtime + .NET Core is a development platform that you can use to build command-line applications, microservices and modern websites. It is open source, cross-platform, and supported by Microsoft. We hope you enjoy it! + Learn more about .NET Core + The following was installed at [DOTNETHOME] + - [BUNDLEMONIKER] + Resources + <A HREF="https://aka.ms/dotnet-docs">Documentation</A> + <A HREF="https://aka.ms/20-p2-rel-notes">Release Notes</A> + <A HREF="https://aka.ms/dotnet-tutorials">Tutorials</A> + <A HREF="https://aka.ms/dotnet-cli-telemetry">.NET Core Telemetry</A> + <A HREF="https://aka.ms/dev-privacy">Privacy Statement</A> + <A HREF="https://go.microsoft.com/fwlink/?LinkId=329770">.NET Library EULA</A> + + diff --git a/src/pkg/projects/windowsdesktop/sfx/theme/1033/bundle.wxl b/src/pkg/projects/windowsdesktop/sfx/theme/1033/bundle.wxl new file mode 100644 index 0000000000..fc82634582 --- /dev/null +++ b/src/pkg/projects/windowsdesktop/sfx/theme/1033/bundle.wxl @@ -0,0 +1,74 @@ + + + [WixBundleName] Installer + [BUNDLEMONIKER] + You just need a shell, a text editor and 10 minutes of your time. + +Ready? Set? Let's go! + Are you sure you want to cancel? + Previous version + Setup Help + /install | /repair | /uninstall | /layout [directory] - installs, repairs, uninstalls or + creates a complete local copy of the bundle in directory. Install is the default. + +/passive | /quiet - displays minimal UI with no prompts or displays no UI and + no prompts. By default UI and all prompts are displayed. + +/norestart - suppress any attempts to restart. By default UI will prompt before restart. +/log log.txt - logs to a specific file. By default a log file is created in %TEMP%. + &Close + I &agree to the license terms and conditions + &Options + &Install + &Close + Setup Options + Install location: + &Browse + &OK + &Cancel + Setup Progress + Processing: + Initializing... + &Cancel + Modify Setup + &Repair + &Uninstall + &Close + Repair Successfully Completed + Uninstall Successfully Completed + Installation was successful + Setup Successful + &Launch + You must restart your computer before you can use the software. + &Restart + &Close + Setup Failed + Setup Failed + Uninstall Failed + Repair Failed + One or more issues caused the setup to fail. Please fix the issues and then retry setup. For more information see the <a href="#">log file</a>. + You must restart your computer to complete the rollback of the software. + &Restart + &Close + The [PRODUCT_NAME] is not supported on this operating system. For more information, see [LINK_PREREQ_PAGE]. + The [PRODUCT_NAME] isn't supported on x86 operating systems. Please install using the corresponding x86 installer. + Files In Use + The following applications are using files that need to be updated: + Close the &applications and attempt to restart them. + &Do not close applications. A reboot will be required. + &OK + &Cancel + Windows Desktop Runtime + .NET Core is a development platform that you can use to build command-line applications, microservices and modern websites. It is open source, cross-platform, and supported by Microsoft. We hope you enjoy it! + Learn more about .NET Core + The following was installed at [DOTNETHOME] + - [BUNDLEMONIKER] + Resources + <A HREF="https://aka.ms/dotnet-docs">Documentation</A> + <A HREF="https://aka.ms/20-p2-rel-notes">Release Notes</A> + <A HREF="https://aka.ms/dotnet-tutorials">Tutorials</A> + <A HREF="https://aka.ms/dotnet-cli-telemetry">.NET Core Telemetry</A> + <A HREF="https://aka.ms/dev-privacy">Privacy Statement</A> + <A HREF="https://go.microsoft.com/fwlink/?LinkId=329770">.NET Library EULA</A> + + diff --git a/src/pkg/projects/windowsdesktop/sfx/theme/1036/bundle.wxl b/src/pkg/projects/windowsdesktop/sfx/theme/1036/bundle.wxl new file mode 100644 index 0000000000..fc82634582 --- /dev/null +++ b/src/pkg/projects/windowsdesktop/sfx/theme/1036/bundle.wxl @@ -0,0 +1,74 @@ + + + [WixBundleName] Installer + [BUNDLEMONIKER] + You just need a shell, a text editor and 10 minutes of your time. + +Ready? Set? Let's go! + Are you sure you want to cancel? + Previous version + Setup Help + /install | /repair | /uninstall | /layout [directory] - installs, repairs, uninstalls or + creates a complete local copy of the bundle in directory. Install is the default. + +/passive | /quiet - displays minimal UI with no prompts or displays no UI and + no prompts. By default UI and all prompts are displayed. + +/norestart - suppress any attempts to restart. By default UI will prompt before restart. +/log log.txt - logs to a specific file. By default a log file is created in %TEMP%. + &Close + I &agree to the license terms and conditions + &Options + &Install + &Close + Setup Options + Install location: + &Browse + &OK + &Cancel + Setup Progress + Processing: + Initializing... + &Cancel + Modify Setup + &Repair + &Uninstall + &Close + Repair Successfully Completed + Uninstall Successfully Completed + Installation was successful + Setup Successful + &Launch + You must restart your computer before you can use the software. + &Restart + &Close + Setup Failed + Setup Failed + Uninstall Failed + Repair Failed + One or more issues caused the setup to fail. Please fix the issues and then retry setup. For more information see the <a href="#">log file</a>. + You must restart your computer to complete the rollback of the software. + &Restart + &Close + The [PRODUCT_NAME] is not supported on this operating system. For more information, see [LINK_PREREQ_PAGE]. + The [PRODUCT_NAME] isn't supported on x86 operating systems. Please install using the corresponding x86 installer. + Files In Use + The following applications are using files that need to be updated: + Close the &applications and attempt to restart them. + &Do not close applications. A reboot will be required. + &OK + &Cancel + Windows Desktop Runtime + .NET Core is a development platform that you can use to build command-line applications, microservices and modern websites. It is open source, cross-platform, and supported by Microsoft. We hope you enjoy it! + Learn more about .NET Core + The following was installed at [DOTNETHOME] + - [BUNDLEMONIKER] + Resources + <A HREF="https://aka.ms/dotnet-docs">Documentation</A> + <A HREF="https://aka.ms/20-p2-rel-notes">Release Notes</A> + <A HREF="https://aka.ms/dotnet-tutorials">Tutorials</A> + <A HREF="https://aka.ms/dotnet-cli-telemetry">.NET Core Telemetry</A> + <A HREF="https://aka.ms/dev-privacy">Privacy Statement</A> + <A HREF="https://go.microsoft.com/fwlink/?LinkId=329770">.NET Library EULA</A> + + diff --git a/src/pkg/projects/windowsdesktop/sfx/theme/1040/bundle.wxl b/src/pkg/projects/windowsdesktop/sfx/theme/1040/bundle.wxl new file mode 100644 index 0000000000..fc82634582 --- /dev/null +++ b/src/pkg/projects/windowsdesktop/sfx/theme/1040/bundle.wxl @@ -0,0 +1,74 @@ + + + [WixBundleName] Installer + [BUNDLEMONIKER] + You just need a shell, a text editor and 10 minutes of your time. + +Ready? Set? Let's go! + Are you sure you want to cancel? + Previous version + Setup Help + /install | /repair | /uninstall | /layout [directory] - installs, repairs, uninstalls or + creates a complete local copy of the bundle in directory. Install is the default. + +/passive | /quiet - displays minimal UI with no prompts or displays no UI and + no prompts. By default UI and all prompts are displayed. + +/norestart - suppress any attempts to restart. By default UI will prompt before restart. +/log log.txt - logs to a specific file. By default a log file is created in %TEMP%. + &Close + I &agree to the license terms and conditions + &Options + &Install + &Close + Setup Options + Install location: + &Browse + &OK + &Cancel + Setup Progress + Processing: + Initializing... + &Cancel + Modify Setup + &Repair + &Uninstall + &Close + Repair Successfully Completed + Uninstall Successfully Completed + Installation was successful + Setup Successful + &Launch + You must restart your computer before you can use the software. + &Restart + &Close + Setup Failed + Setup Failed + Uninstall Failed + Repair Failed + One or more issues caused the setup to fail. Please fix the issues and then retry setup. For more information see the <a href="#">log file</a>. + You must restart your computer to complete the rollback of the software. + &Restart + &Close + The [PRODUCT_NAME] is not supported on this operating system. For more information, see [LINK_PREREQ_PAGE]. + The [PRODUCT_NAME] isn't supported on x86 operating systems. Please install using the corresponding x86 installer. + Files In Use + The following applications are using files that need to be updated: + Close the &applications and attempt to restart them. + &Do not close applications. A reboot will be required. + &OK + &Cancel + Windows Desktop Runtime + .NET Core is a development platform that you can use to build command-line applications, microservices and modern websites. It is open source, cross-platform, and supported by Microsoft. We hope you enjoy it! + Learn more about .NET Core + The following was installed at [DOTNETHOME] + - [BUNDLEMONIKER] + Resources + <A HREF="https://aka.ms/dotnet-docs">Documentation</A> + <A HREF="https://aka.ms/20-p2-rel-notes">Release Notes</A> + <A HREF="https://aka.ms/dotnet-tutorials">Tutorials</A> + <A HREF="https://aka.ms/dotnet-cli-telemetry">.NET Core Telemetry</A> + <A HREF="https://aka.ms/dev-privacy">Privacy Statement</A> + <A HREF="https://go.microsoft.com/fwlink/?LinkId=329770">.NET Library EULA</A> + + diff --git a/src/pkg/projects/windowsdesktop/sfx/theme/1041/bundle.wxl b/src/pkg/projects/windowsdesktop/sfx/theme/1041/bundle.wxl new file mode 100644 index 0000000000..fc82634582 --- /dev/null +++ b/src/pkg/projects/windowsdesktop/sfx/theme/1041/bundle.wxl @@ -0,0 +1,74 @@ + + + [WixBundleName] Installer + [BUNDLEMONIKER] + You just need a shell, a text editor and 10 minutes of your time. + +Ready? Set? Let's go! + Are you sure you want to cancel? + Previous version + Setup Help + /install | /repair | /uninstall | /layout [directory] - installs, repairs, uninstalls or + creates a complete local copy of the bundle in directory. Install is the default. + +/passive | /quiet - displays minimal UI with no prompts or displays no UI and + no prompts. By default UI and all prompts are displayed. + +/norestart - suppress any attempts to restart. By default UI will prompt before restart. +/log log.txt - logs to a specific file. By default a log file is created in %TEMP%. + &Close + I &agree to the license terms and conditions + &Options + &Install + &Close + Setup Options + Install location: + &Browse + &OK + &Cancel + Setup Progress + Processing: + Initializing... + &Cancel + Modify Setup + &Repair + &Uninstall + &Close + Repair Successfully Completed + Uninstall Successfully Completed + Installation was successful + Setup Successful + &Launch + You must restart your computer before you can use the software. + &Restart + &Close + Setup Failed + Setup Failed + Uninstall Failed + Repair Failed + One or more issues caused the setup to fail. Please fix the issues and then retry setup. For more information see the <a href="#">log file</a>. + You must restart your computer to complete the rollback of the software. + &Restart + &Close + The [PRODUCT_NAME] is not supported on this operating system. For more information, see [LINK_PREREQ_PAGE]. + The [PRODUCT_NAME] isn't supported on x86 operating systems. Please install using the corresponding x86 installer. + Files In Use + The following applications are using files that need to be updated: + Close the &applications and attempt to restart them. + &Do not close applications. A reboot will be required. + &OK + &Cancel + Windows Desktop Runtime + .NET Core is a development platform that you can use to build command-line applications, microservices and modern websites. It is open source, cross-platform, and supported by Microsoft. We hope you enjoy it! + Learn more about .NET Core + The following was installed at [DOTNETHOME] + - [BUNDLEMONIKER] + Resources + <A HREF="https://aka.ms/dotnet-docs">Documentation</A> + <A HREF="https://aka.ms/20-p2-rel-notes">Release Notes</A> + <A HREF="https://aka.ms/dotnet-tutorials">Tutorials</A> + <A HREF="https://aka.ms/dotnet-cli-telemetry">.NET Core Telemetry</A> + <A HREF="https://aka.ms/dev-privacy">Privacy Statement</A> + <A HREF="https://go.microsoft.com/fwlink/?LinkId=329770">.NET Library EULA</A> + + diff --git a/src/pkg/projects/windowsdesktop/sfx/theme/1042/bundle.wxl b/src/pkg/projects/windowsdesktop/sfx/theme/1042/bundle.wxl new file mode 100644 index 0000000000..fc82634582 --- /dev/null +++ b/src/pkg/projects/windowsdesktop/sfx/theme/1042/bundle.wxl @@ -0,0 +1,74 @@ + + + [WixBundleName] Installer + [BUNDLEMONIKER] + You just need a shell, a text editor and 10 minutes of your time. + +Ready? Set? Let's go! + Are you sure you want to cancel? + Previous version + Setup Help + /install | /repair | /uninstall | /layout [directory] - installs, repairs, uninstalls or + creates a complete local copy of the bundle in directory. Install is the default. + +/passive | /quiet - displays minimal UI with no prompts or displays no UI and + no prompts. By default UI and all prompts are displayed. + +/norestart - suppress any attempts to restart. By default UI will prompt before restart. +/log log.txt - logs to a specific file. By default a log file is created in %TEMP%. + &Close + I &agree to the license terms and conditions + &Options + &Install + &Close + Setup Options + Install location: + &Browse + &OK + &Cancel + Setup Progress + Processing: + Initializing... + &Cancel + Modify Setup + &Repair + &Uninstall + &Close + Repair Successfully Completed + Uninstall Successfully Completed + Installation was successful + Setup Successful + &Launch + You must restart your computer before you can use the software. + &Restart + &Close + Setup Failed + Setup Failed + Uninstall Failed + Repair Failed + One or more issues caused the setup to fail. Please fix the issues and then retry setup. For more information see the <a href="#">log file</a>. + You must restart your computer to complete the rollback of the software. + &Restart + &Close + The [PRODUCT_NAME] is not supported on this operating system. For more information, see [LINK_PREREQ_PAGE]. + The [PRODUCT_NAME] isn't supported on x86 operating systems. Please install using the corresponding x86 installer. + Files In Use + The following applications are using files that need to be updated: + Close the &applications and attempt to restart them. + &Do not close applications. A reboot will be required. + &OK + &Cancel + Windows Desktop Runtime + .NET Core is a development platform that you can use to build command-line applications, microservices and modern websites. It is open source, cross-platform, and supported by Microsoft. We hope you enjoy it! + Learn more about .NET Core + The following was installed at [DOTNETHOME] + - [BUNDLEMONIKER] + Resources + <A HREF="https://aka.ms/dotnet-docs">Documentation</A> + <A HREF="https://aka.ms/20-p2-rel-notes">Release Notes</A> + <A HREF="https://aka.ms/dotnet-tutorials">Tutorials</A> + <A HREF="https://aka.ms/dotnet-cli-telemetry">.NET Core Telemetry</A> + <A HREF="https://aka.ms/dev-privacy">Privacy Statement</A> + <A HREF="https://go.microsoft.com/fwlink/?LinkId=329770">.NET Library EULA</A> + + diff --git a/src/pkg/projects/windowsdesktop/sfx/theme/1045/bundle.wxl b/src/pkg/projects/windowsdesktop/sfx/theme/1045/bundle.wxl new file mode 100644 index 0000000000..fc82634582 --- /dev/null +++ b/src/pkg/projects/windowsdesktop/sfx/theme/1045/bundle.wxl @@ -0,0 +1,74 @@ + + + [WixBundleName] Installer + [BUNDLEMONIKER] + You just need a shell, a text editor and 10 minutes of your time. + +Ready? Set? Let's go! + Are you sure you want to cancel? + Previous version + Setup Help + /install | /repair | /uninstall | /layout [directory] - installs, repairs, uninstalls or + creates a complete local copy of the bundle in directory. Install is the default. + +/passive | /quiet - displays minimal UI with no prompts or displays no UI and + no prompts. By default UI and all prompts are displayed. + +/norestart - suppress any attempts to restart. By default UI will prompt before restart. +/log log.txt - logs to a specific file. By default a log file is created in %TEMP%. + &Close + I &agree to the license terms and conditions + &Options + &Install + &Close + Setup Options + Install location: + &Browse + &OK + &Cancel + Setup Progress + Processing: + Initializing... + &Cancel + Modify Setup + &Repair + &Uninstall + &Close + Repair Successfully Completed + Uninstall Successfully Completed + Installation was successful + Setup Successful + &Launch + You must restart your computer before you can use the software. + &Restart + &Close + Setup Failed + Setup Failed + Uninstall Failed + Repair Failed + One or more issues caused the setup to fail. Please fix the issues and then retry setup. For more information see the <a href="#">log file</a>. + You must restart your computer to complete the rollback of the software. + &Restart + &Close + The [PRODUCT_NAME] is not supported on this operating system. For more information, see [LINK_PREREQ_PAGE]. + The [PRODUCT_NAME] isn't supported on x86 operating systems. Please install using the corresponding x86 installer. + Files In Use + The following applications are using files that need to be updated: + Close the &applications and attempt to restart them. + &Do not close applications. A reboot will be required. + &OK + &Cancel + Windows Desktop Runtime + .NET Core is a development platform that you can use to build command-line applications, microservices and modern websites. It is open source, cross-platform, and supported by Microsoft. We hope you enjoy it! + Learn more about .NET Core + The following was installed at [DOTNETHOME] + - [BUNDLEMONIKER] + Resources + <A HREF="https://aka.ms/dotnet-docs">Documentation</A> + <A HREF="https://aka.ms/20-p2-rel-notes">Release Notes</A> + <A HREF="https://aka.ms/dotnet-tutorials">Tutorials</A> + <A HREF="https://aka.ms/dotnet-cli-telemetry">.NET Core Telemetry</A> + <A HREF="https://aka.ms/dev-privacy">Privacy Statement</A> + <A HREF="https://go.microsoft.com/fwlink/?LinkId=329770">.NET Library EULA</A> + + diff --git a/src/pkg/projects/windowsdesktop/sfx/theme/1046/bundle.wxl b/src/pkg/projects/windowsdesktop/sfx/theme/1046/bundle.wxl new file mode 100644 index 0000000000..fc82634582 --- /dev/null +++ b/src/pkg/projects/windowsdesktop/sfx/theme/1046/bundle.wxl @@ -0,0 +1,74 @@ + + + [WixBundleName] Installer + [BUNDLEMONIKER] + You just need a shell, a text editor and 10 minutes of your time. + +Ready? Set? Let's go! + Are you sure you want to cancel? + Previous version + Setup Help + /install | /repair | /uninstall | /layout [directory] - installs, repairs, uninstalls or + creates a complete local copy of the bundle in directory. Install is the default. + +/passive | /quiet - displays minimal UI with no prompts or displays no UI and + no prompts. By default UI and all prompts are displayed. + +/norestart - suppress any attempts to restart. By default UI will prompt before restart. +/log log.txt - logs to a specific file. By default a log file is created in %TEMP%. + &Close + I &agree to the license terms and conditions + &Options + &Install + &Close + Setup Options + Install location: + &Browse + &OK + &Cancel + Setup Progress + Processing: + Initializing... + &Cancel + Modify Setup + &Repair + &Uninstall + &Close + Repair Successfully Completed + Uninstall Successfully Completed + Installation was successful + Setup Successful + &Launch + You must restart your computer before you can use the software. + &Restart + &Close + Setup Failed + Setup Failed + Uninstall Failed + Repair Failed + One or more issues caused the setup to fail. Please fix the issues and then retry setup. For more information see the <a href="#">log file</a>. + You must restart your computer to complete the rollback of the software. + &Restart + &Close + The [PRODUCT_NAME] is not supported on this operating system. For more information, see [LINK_PREREQ_PAGE]. + The [PRODUCT_NAME] isn't supported on x86 operating systems. Please install using the corresponding x86 installer. + Files In Use + The following applications are using files that need to be updated: + Close the &applications and attempt to restart them. + &Do not close applications. A reboot will be required. + &OK + &Cancel + Windows Desktop Runtime + .NET Core is a development platform that you can use to build command-line applications, microservices and modern websites. It is open source, cross-platform, and supported by Microsoft. We hope you enjoy it! + Learn more about .NET Core + The following was installed at [DOTNETHOME] + - [BUNDLEMONIKER] + Resources + <A HREF="https://aka.ms/dotnet-docs">Documentation</A> + <A HREF="https://aka.ms/20-p2-rel-notes">Release Notes</A> + <A HREF="https://aka.ms/dotnet-tutorials">Tutorials</A> + <A HREF="https://aka.ms/dotnet-cli-telemetry">.NET Core Telemetry</A> + <A HREF="https://aka.ms/dev-privacy">Privacy Statement</A> + <A HREF="https://go.microsoft.com/fwlink/?LinkId=329770">.NET Library EULA</A> + + diff --git a/src/pkg/projects/windowsdesktop/sfx/theme/1049/bundle.wxl b/src/pkg/projects/windowsdesktop/sfx/theme/1049/bundle.wxl new file mode 100644 index 0000000000..fc82634582 --- /dev/null +++ b/src/pkg/projects/windowsdesktop/sfx/theme/1049/bundle.wxl @@ -0,0 +1,74 @@ + + + [WixBundleName] Installer + [BUNDLEMONIKER] + You just need a shell, a text editor and 10 minutes of your time. + +Ready? Set? Let's go! + Are you sure you want to cancel? + Previous version + Setup Help + /install | /repair | /uninstall | /layout [directory] - installs, repairs, uninstalls or + creates a complete local copy of the bundle in directory. Install is the default. + +/passive | /quiet - displays minimal UI with no prompts or displays no UI and + no prompts. By default UI and all prompts are displayed. + +/norestart - suppress any attempts to restart. By default UI will prompt before restart. +/log log.txt - logs to a specific file. By default a log file is created in %TEMP%. + &Close + I &agree to the license terms and conditions + &Options + &Install + &Close + Setup Options + Install location: + &Browse + &OK + &Cancel + Setup Progress + Processing: + Initializing... + &Cancel + Modify Setup + &Repair + &Uninstall + &Close + Repair Successfully Completed + Uninstall Successfully Completed + Installation was successful + Setup Successful + &Launch + You must restart your computer before you can use the software. + &Restart + &Close + Setup Failed + Setup Failed + Uninstall Failed + Repair Failed + One or more issues caused the setup to fail. Please fix the issues and then retry setup. For more information see the <a href="#">log file</a>. + You must restart your computer to complete the rollback of the software. + &Restart + &Close + The [PRODUCT_NAME] is not supported on this operating system. For more information, see [LINK_PREREQ_PAGE]. + The [PRODUCT_NAME] isn't supported on x86 operating systems. Please install using the corresponding x86 installer. + Files In Use + The following applications are using files that need to be updated: + Close the &applications and attempt to restart them. + &Do not close applications. A reboot will be required. + &OK + &Cancel + Windows Desktop Runtime + .NET Core is a development platform that you can use to build command-line applications, microservices and modern websites. It is open source, cross-platform, and supported by Microsoft. We hope you enjoy it! + Learn more about .NET Core + The following was installed at [DOTNETHOME] + - [BUNDLEMONIKER] + Resources + <A HREF="https://aka.ms/dotnet-docs">Documentation</A> + <A HREF="https://aka.ms/20-p2-rel-notes">Release Notes</A> + <A HREF="https://aka.ms/dotnet-tutorials">Tutorials</A> + <A HREF="https://aka.ms/dotnet-cli-telemetry">.NET Core Telemetry</A> + <A HREF="https://aka.ms/dev-privacy">Privacy Statement</A> + <A HREF="https://go.microsoft.com/fwlink/?LinkId=329770">.NET Library EULA</A> + + diff --git a/src/pkg/projects/windowsdesktop/sfx/theme/1055/bundle.wxl b/src/pkg/projects/windowsdesktop/sfx/theme/1055/bundle.wxl new file mode 100644 index 0000000000..fc82634582 --- /dev/null +++ b/src/pkg/projects/windowsdesktop/sfx/theme/1055/bundle.wxl @@ -0,0 +1,74 @@ + + + [WixBundleName] Installer + [BUNDLEMONIKER] + You just need a shell, a text editor and 10 minutes of your time. + +Ready? Set? Let's go! + Are you sure you want to cancel? + Previous version + Setup Help + /install | /repair | /uninstall | /layout [directory] - installs, repairs, uninstalls or + creates a complete local copy of the bundle in directory. Install is the default. + +/passive | /quiet - displays minimal UI with no prompts or displays no UI and + no prompts. By default UI and all prompts are displayed. + +/norestart - suppress any attempts to restart. By default UI will prompt before restart. +/log log.txt - logs to a specific file. By default a log file is created in %TEMP%. + &Close + I &agree to the license terms and conditions + &Options + &Install + &Close + Setup Options + Install location: + &Browse + &OK + &Cancel + Setup Progress + Processing: + Initializing... + &Cancel + Modify Setup + &Repair + &Uninstall + &Close + Repair Successfully Completed + Uninstall Successfully Completed + Installation was successful + Setup Successful + &Launch + You must restart your computer before you can use the software. + &Restart + &Close + Setup Failed + Setup Failed + Uninstall Failed + Repair Failed + One or more issues caused the setup to fail. Please fix the issues and then retry setup. For more information see the <a href="#">log file</a>. + You must restart your computer to complete the rollback of the software. + &Restart + &Close + The [PRODUCT_NAME] is not supported on this operating system. For more information, see [LINK_PREREQ_PAGE]. + The [PRODUCT_NAME] isn't supported on x86 operating systems. Please install using the corresponding x86 installer. + Files In Use + The following applications are using files that need to be updated: + Close the &applications and attempt to restart them. + &Do not close applications. A reboot will be required. + &OK + &Cancel + Windows Desktop Runtime + .NET Core is a development platform that you can use to build command-line applications, microservices and modern websites. It is open source, cross-platform, and supported by Microsoft. We hope you enjoy it! + Learn more about .NET Core + The following was installed at [DOTNETHOME] + - [BUNDLEMONIKER] + Resources + <A HREF="https://aka.ms/dotnet-docs">Documentation</A> + <A HREF="https://aka.ms/20-p2-rel-notes">Release Notes</A> + <A HREF="https://aka.ms/dotnet-tutorials">Tutorials</A> + <A HREF="https://aka.ms/dotnet-cli-telemetry">.NET Core Telemetry</A> + <A HREF="https://aka.ms/dev-privacy">Privacy Statement</A> + <A HREF="https://go.microsoft.com/fwlink/?LinkId=329770">.NET Library EULA</A> + + diff --git a/src/pkg/projects/windowsdesktop/sfx/theme/2052/bundle.wxl b/src/pkg/projects/windowsdesktop/sfx/theme/2052/bundle.wxl new file mode 100644 index 0000000000..fc82634582 --- /dev/null +++ b/src/pkg/projects/windowsdesktop/sfx/theme/2052/bundle.wxl @@ -0,0 +1,74 @@ + + + [WixBundleName] Installer + [BUNDLEMONIKER] + You just need a shell, a text editor and 10 minutes of your time. + +Ready? Set? Let's go! + Are you sure you want to cancel? + Previous version + Setup Help + /install | /repair | /uninstall | /layout [directory] - installs, repairs, uninstalls or + creates a complete local copy of the bundle in directory. Install is the default. + +/passive | /quiet - displays minimal UI with no prompts or displays no UI and + no prompts. By default UI and all prompts are displayed. + +/norestart - suppress any attempts to restart. By default UI will prompt before restart. +/log log.txt - logs to a specific file. By default a log file is created in %TEMP%. + &Close + I &agree to the license terms and conditions + &Options + &Install + &Close + Setup Options + Install location: + &Browse + &OK + &Cancel + Setup Progress + Processing: + Initializing... + &Cancel + Modify Setup + &Repair + &Uninstall + &Close + Repair Successfully Completed + Uninstall Successfully Completed + Installation was successful + Setup Successful + &Launch + You must restart your computer before you can use the software. + &Restart + &Close + Setup Failed + Setup Failed + Uninstall Failed + Repair Failed + One or more issues caused the setup to fail. Please fix the issues and then retry setup. For more information see the <a href="#">log file</a>. + You must restart your computer to complete the rollback of the software. + &Restart + &Close + The [PRODUCT_NAME] is not supported on this operating system. For more information, see [LINK_PREREQ_PAGE]. + The [PRODUCT_NAME] isn't supported on x86 operating systems. Please install using the corresponding x86 installer. + Files In Use + The following applications are using files that need to be updated: + Close the &applications and attempt to restart them. + &Do not close applications. A reboot will be required. + &OK + &Cancel + Windows Desktop Runtime + .NET Core is a development platform that you can use to build command-line applications, microservices and modern websites. It is open source, cross-platform, and supported by Microsoft. We hope you enjoy it! + Learn more about .NET Core + The following was installed at [DOTNETHOME] + - [BUNDLEMONIKER] + Resources + <A HREF="https://aka.ms/dotnet-docs">Documentation</A> + <A HREF="https://aka.ms/20-p2-rel-notes">Release Notes</A> + <A HREF="https://aka.ms/dotnet-tutorials">Tutorials</A> + <A HREF="https://aka.ms/dotnet-cli-telemetry">.NET Core Telemetry</A> + <A HREF="https://aka.ms/dev-privacy">Privacy Statement</A> + <A HREF="https://go.microsoft.com/fwlink/?LinkId=329770">.NET Library EULA</A> + + diff --git a/src/pkg/projects/windowsdesktop/sfx/theme/3082/bundle.wxl b/src/pkg/projects/windowsdesktop/sfx/theme/3082/bundle.wxl new file mode 100644 index 0000000000..fc82634582 --- /dev/null +++ b/src/pkg/projects/windowsdesktop/sfx/theme/3082/bundle.wxl @@ -0,0 +1,74 @@ + + + [WixBundleName] Installer + [BUNDLEMONIKER] + You just need a shell, a text editor and 10 minutes of your time. + +Ready? Set? Let's go! + Are you sure you want to cancel? + Previous version + Setup Help + /install | /repair | /uninstall | /layout [directory] - installs, repairs, uninstalls or + creates a complete local copy of the bundle in directory. Install is the default. + +/passive | /quiet - displays minimal UI with no prompts or displays no UI and + no prompts. By default UI and all prompts are displayed. + +/norestart - suppress any attempts to restart. By default UI will prompt before restart. +/log log.txt - logs to a specific file. By default a log file is created in %TEMP%. + &Close + I &agree to the license terms and conditions + &Options + &Install + &Close + Setup Options + Install location: + &Browse + &OK + &Cancel + Setup Progress + Processing: + Initializing... + &Cancel + Modify Setup + &Repair + &Uninstall + &Close + Repair Successfully Completed + Uninstall Successfully Completed + Installation was successful + Setup Successful + &Launch + You must restart your computer before you can use the software. + &Restart + &Close + Setup Failed + Setup Failed + Uninstall Failed + Repair Failed + One or more issues caused the setup to fail. Please fix the issues and then retry setup. For more information see the <a href="#">log file</a>. + You must restart your computer to complete the rollback of the software. + &Restart + &Close + The [PRODUCT_NAME] is not supported on this operating system. For more information, see [LINK_PREREQ_PAGE]. + The [PRODUCT_NAME] isn't supported on x86 operating systems. Please install using the corresponding x86 installer. + Files In Use + The following applications are using files that need to be updated: + Close the &applications and attempt to restart them. + &Do not close applications. A reboot will be required. + &OK + &Cancel + Windows Desktop Runtime + .NET Core is a development platform that you can use to build command-line applications, microservices and modern websites. It is open source, cross-platform, and supported by Microsoft. We hope you enjoy it! + Learn more about .NET Core + The following was installed at [DOTNETHOME] + - [BUNDLEMONIKER] + Resources + <A HREF="https://aka.ms/dotnet-docs">Documentation</A> + <A HREF="https://aka.ms/20-p2-rel-notes">Release Notes</A> + <A HREF="https://aka.ms/dotnet-tutorials">Tutorials</A> + <A HREF="https://aka.ms/dotnet-cli-telemetry">.NET Core Telemetry</A> + <A HREF="https://aka.ms/dev-privacy">Privacy Statement</A> + <A HREF="https://go.microsoft.com/fwlink/?LinkId=329770">.NET Library EULA</A> + + diff --git a/tools-local/tasks/ExecWithRetries.cs b/tools-local/tasks/ExecWithRetries.cs new file mode 100644 index 0000000000..5e57c39f45 --- /dev/null +++ b/tools-local/tasks/ExecWithRetries.cs @@ -0,0 +1,116 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +// Initially copied from https://github.com/dotnet/buildtools/blob/6736870b84e06b75e7df32bb84d442db1b2afa10/src/Microsoft.DotNet.Build.Tasks/ExecWithRetries.cs + +using Microsoft.Build.Framework; +using Microsoft.Build.Tasks; +using System; +using System.Threading; +using System.Threading.Tasks; + +namespace Microsoft.DotNet.Build.Tasks +{ + /// + /// Run a command and retry if the exit code is not 0. + /// + public class ExecWithRetries : BuildTask + { + [Required] + public string Command { get; set; } + + public string WorkingDirectory { get; set; } + + public bool IgnoreStandardErrorWarningFormat { get; set; } + + public int MaxAttempts { get; set; } = 5; + + /// + /// Base, in seconds, raised to the power of the number of retries so far. + /// + public double RetryDelayBase { get; set; } = 6; + + /// + /// A constant, in seconds, added to (base^retries) to find the delay before retrying. + /// + /// The default is -1 to make the first retry instant, because ((base^0)-1) == 0. + /// + public double RetryDelayConstant { get; set; } = -1; + + /// + /// MSBuild message importance to use when logging stdout messages from the command. Default + /// is "High". + /// + public string StandardOutputImportance { get; set; } + + /// + /// MSBuild message importance to use when logging stderr messages from the command. Default + /// is "High". + /// + public string StandardErrorImportance { get; set; } + + private CancellationTokenSource _cancelTokenSource = new CancellationTokenSource(); + + private Exec _runningExec; + + public void Cancel() + { + _runningExec?.Cancel(); + _cancelTokenSource.Cancel(); + } + + public override bool Execute() + { + for (int i = 0; i < MaxAttempts; i++) + { + _runningExec = new Exec + { + BuildEngine = BuildEngine, + Command = Command, + WorkingDirectory = WorkingDirectory, + IgnoreStandardErrorWarningFormat = IgnoreStandardErrorWarningFormat, + StandardOutputImportance = StandardOutputImportance, + StandardErrorImportance = StandardErrorImportance, + LogStandardErrorAsError = false, + IgnoreExitCode = true + }; + + if (!_runningExec.Execute()) + { + Log.LogError("Child Exec task failed to execute."); + break; + } + + int exitCode = _runningExec.ExitCode; + if (exitCode == 0) + { + return true; + } + + string message = $"Exec FAILED: exit code {exitCode} (attempt {i + 1}/{MaxAttempts})"; + + if (i + 1 == MaxAttempts || _cancelTokenSource.IsCancellationRequested) + { + Log.LogError(message); + break; + } + + TimeSpan delay = TimeSpan.FromSeconds( + Math.Pow(RetryDelayBase, i) + RetryDelayConstant); + + Log.LogMessage(MessageImportance.High, $"{message} -- Retrying after {delay}..."); + + try + { + Task.Delay(delay, _cancelTokenSource.Token).Wait(); + } + catch (AggregateException e) when (e.InnerException is TaskCanceledException) + { + break; + } + } + return false; + } + } +} diff --git a/tools-local/tasks/core-setup.tasks.csproj b/tools-local/tasks/core-setup.tasks.csproj index e62dbb54f5..357067456f 100644 --- a/tools-local/tasks/core-setup.tasks.csproj +++ b/tools-local/tasks/core-setup.tasks.csproj @@ -33,6 +33,7 @@ +