Merge pull request #8470 from hoyosjs/juhoyosa/arm64-bundled-installer

Finalize ARM64 support (Installers, publishing-rid, revert winforms support)
This commit is contained in:
Juan Hoyos 2020-09-16 15:39:39 -07:00 committed by GitHub
commit 05541c6b37
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
26 changed files with 412 additions and 79 deletions

View file

@ -184,7 +184,7 @@
<Target Name="LayoutTemplatesFor50MSI"
DependsOnTargets="SetupBundledComponents;CalculateTemplatesVersions"
Condition="$(ProductMonikerRid.StartsWith('win')) And !$(Architecture.StartsWith('arm'))">
Condition="$(ProductMonikerRid.StartsWith('win')) And '$(Architecture)' != 'arm'">
<Copy SourceFiles="%(Bundled50Templates.RestoredNupkgPath)"
DestinationFolder="$(Templates50LayoutPath)templates/$(BundledTemplates50InstallPath)"/>
</Target>

View file

@ -108,14 +108,12 @@
<Crossgen2SupportedRids Include="linux-musl-x64;linux-x64;win-x64" />
<AspNetCore31RuntimePackRids Include="@(AspNetCore30RuntimePackRids)" />
<AspNetCoreRuntimePackRids Include="@(AspNetCore31RuntimePackRids)" />
<AspNetCore50RuntimePackRids Include="@(AspNetCore31RuntimePackRids);win-arm64" />
<AspNetCoreRuntimePackRids Include="@(AspNetCore50RuntimePackRids)" />
<WindowsDesktop30RuntimePackRids Include="win-x64;win-x86" />
<WindowsDesktop31RuntimePackRids Include="@(WindowsDesktop30RuntimePackRids)" />
<WindowsDesktopRuntimePackRids Include="@(WindowsDesktop31RuntimePackRids)" />
<!-- TODO: remove this once WPF is available on ARM64 and replace usage
of this group for WindowsDesktopRuntimePackRids. -->
<WindowsDesktopRuntimePackWinformsRids Include="@(WindowsDesktopRuntimePackRids);win-arm64" />
</ItemGroup>
<!--
@ -264,7 +262,7 @@ Copyright (c) .NET Foundation. All rights reserved.
TargetingPackName="Microsoft.WindowsDesktop.App.Ref"
TargetingPackVersion="$(MicrosoftWindowsDesktopAppRefPackageVersion)"
RuntimePackNamePatterns="Microsoft.WindowsDesktop.App.Runtime.**RID**"
RuntimePackRuntimeIdentifiers="@(WindowsDesktopRuntimePackWinformsRids, '%3B')"
RuntimePackRuntimeIdentifiers="@(WindowsDesktopRuntimePackRids, '%3B')"
IsWindowsOnly="true"
Profile="WindowsForms"
/>
@ -277,7 +275,7 @@ Copyright (c) .NET Foundation. All rights reserved.
TargetingPackName="Microsoft.AspNetCore.App.Ref"
TargetingPackVersion="$(MicrosoftAspNetCoreAppRefPackageVersion)"
RuntimePackNamePatterns="Microsoft.AspNetCore.App.Runtime.**RID**"
RuntimePackRuntimeIdentifiers="@(AspNetCoreRuntimePackRids, '%3B')"
RuntimePackRuntimeIdentifiers="@(AspNetCore50RuntimePackRids, '%3B')"
/>
<KnownFrameworkReference Include="Microsoft.Windows.SDK.NET.Ref"

View file

@ -168,29 +168,30 @@
</BundledInstallerComponent>
<BundledInstallerComponent Include="DownloadedSharedFrameworkInstallerFile"
Condition="'$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' != '' And !$(Architecture.StartsWith('arm'))">
Condition="'$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' != '' And (!$(Architecture.StartsWith('arm')) or '$(Rid)' == 'win-arm64')">
<BaseUrl>$(CoreSetupRootUrl)$(CoreSetupBlobVersion)</BaseUrl>
<DownloadFileName>$(DownloadedSharedFrameworkInstallerFileName)</DownloadFileName>
</BundledInstallerComponent>
<BundledInstallerComponent Include="DownloadedSharedHostInstallerFile"
Condition="'$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' != '' And !$(Architecture.StartsWith('arm'))">
Condition="'$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' != '' And (!$(Architecture.StartsWith('arm')) or '$(Rid)' == 'win-arm64')">
<BaseUrl>$(CoreSetupRootUrl)$(CoreSetupBlobVersion)</BaseUrl>
<DownloadFileName>$(DownloadedSharedHostInstallerFileName)</DownloadFileName>
</BundledInstallerComponent>
<BundledInstallerComponent Include="DownloadedHostFxrInstallerFile"
Condition="'$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' != '' And !$(Architecture.StartsWith('arm'))">
Condition="'$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' != '' And (!$(Architecture.StartsWith('arm')) or '$(Rid)' == 'win-arm64')">
<BaseUrl>$(CoreSetupRootUrl)$(CoreSetupBlobVersion)</BaseUrl>
<DownloadFileName>$(DownloadedHostFxrInstallerFileName)</DownloadFileName>
</BundledInstallerComponent>
<BundledInstallerComponent Include="DownloadedNetCoreAppTargetingPackInstallerFile"
Condition="'$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' != '' And !$(Architecture.StartsWith('arm'))">
Condition="'$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' != '' And (!$(Architecture.StartsWith('arm')) or '$(Rid)' == 'win-arm64')">
<BaseUrl>$(CoreSetupRootUrl)$(NETCoreAppTargetingPackBlobVersion)</BaseUrl>
<DownloadFileName>$(DownloadedNetCoreAppTargetingPackInstallerFileName)</DownloadFileName>
</BundledInstallerComponent>
<!-- TODO: Should we somehow obtain a .NET Standard ARM64 package? -->
<BundledInstallerComponent Include="DownloadedNetStandardTargetingPackInstallerFile"
Condition="'$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' != '' And !$(Architecture.StartsWith('arm'))">
<BaseUrl>$(CoreSetupRootUrl)$(NETCoreAppTargetingPackBlobVersion)</BaseUrl>
@ -199,7 +200,7 @@
</BundledInstallerComponent>
<BundledInstallerComponent Include="DownloadedNetCoreAppHostPackInstallerFile"
Condition="'$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' != '' And !$(Architecture.StartsWith('arm'))">
Condition="'$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' != '' And (!$(Architecture.StartsWith('arm')) or '$(Rid)' == 'win-arm64')">
<BaseUrl>$(CoreSetupRootUrl)$(CoreSetupBlobVersion)</BaseUrl>
<DownloadFileName>$(DownloadedNetCoreAppHostPackInstallerFileName)</DownloadFileName>
</BundledInstallerComponent>
@ -252,19 +253,19 @@
</BundledLayoutComponent>
<BundledInstallerComponent Include="DownloadedAspNetTargetingPackInstallerFile"
Condition="'$(InstallerExtension)' != '.pkg' And '$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' != '' And !$(Architecture.StartsWith('arm'))">
Condition="'$(InstallerExtension)' != '.pkg' And '$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' != '' And (!$(Architecture.StartsWith('arm')) or '$(Rid)' == 'win-arm64')">
<BaseUrl>$(AspNetCoreSharedFxRootUrl)$(AspNetCoreTargetingPackBlobVersion)</BaseUrl>
<DownloadFileName>$(DownloadedAspNetTargetingPackInstallerFileName)</DownloadFileName>
</BundledInstallerComponent>
<BundledInstallerComponent Include="DownloadedAspNetCoreSharedFxInstallerFile"
Condition="'$(InstallerExtension)' != '.pkg' And '$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' != '' And !$(Architecture.StartsWith('arm'))">
Condition="'$(InstallerExtension)' != '.pkg' And '$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' != '' And (!$(Architecture.StartsWith('arm')) or '$(Rid)' == 'win-arm64')">
<BaseUrl>$(AspNetCoreSharedFxRootUrl)$(AspNetCoreBlobVersion)</BaseUrl>
<DownloadFileName>$(DownloadedAspNetCoreSharedFxInstallerFileName)</DownloadFileName>
</BundledInstallerComponent>
<BundledInstallerComponent Include="DownloadedAspNetCoreSharedFxWixLibFile"
Condition="'$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' == '.msi' And !$(Architecture.StartsWith('arm'))">
Condition="'$(SkipBuildingInstallers)' != 'true' And '$(InstallerExtension)' == '.msi' And (!$(Architecture.StartsWith('arm')) or '$(Rid)' == 'win-arm64')">
<BaseUrl>$(AspNetCoreSharedFxRootUrl)$(AspNetCoreBlobVersion)</BaseUrl>
<DownloadFileName>$(DownloadedAspNetCoreSharedFxWixLibFileName)</DownloadFileName>
</BundledInstallerComponent>
@ -276,7 +277,7 @@
</BundledInstallerComponent>
<BundledInstallerComponent Include="AspNetCoreSharedFxBaseRuntimeVersionFile"
Condition="!$(Architecture.StartsWith('arm'))">
Condition="!$(Architecture.StartsWith('arm')) or '$(Rid)' == 'win-arm64'">
<BaseUrl>$(AspNetCoreSharedFxRootUrl)$(AspNetCoreBlobVersion)</BaseUrl>
<DownloadFileName>$(AspNetCoreSharedFxBaseRuntimeVersionFileName)</DownloadFileName>
</BundledInstallerComponent>
@ -284,7 +285,7 @@
<PropertyGroup>
<IncludeWpfAndWinForms Condition=" '$(IncludeWpfAndWinForms)' == '' AND '$(Architecture)' == 'arm'">false</IncludeWpfAndWinForms>
<IncludeWpfAndWinForms Condition=" '$(IncludeWpfAndWinForms)' == '' AND '$(OS)' == 'Windows_NT'">true</IncludeWpfAndWinForms>
<IncludeWpfAndWinForms Condition=" '$(IncludeWpfAndWinForms)' == '' AND '$(OS)' == 'Windows_NT' AND '$(Architecture)' != 'arm64' ">true</IncludeWpfAndWinForms>
<IncludeWpfAndWinForms Condition=" '$(IncludeWpfAndWinForms)' == '' ">false</IncludeWpfAndWinForms>
</PropertyGroup>

View file

@ -14,7 +14,7 @@
<Target Name="SetupWixProperties" DependsOnTargets="GetCurrentRuntimeInformation">
<!-- AcquireWix Properties -->
<PropertyGroup>
<WixVersion>3.10.4</WixVersion>
<WixVersion>3.14.0.4118</WixVersion>
<WixDownloadUrl>https://dotnetcli.azureedge.net/build/wix/wix.$(WixVersion).zip</WixDownloadUrl>
<WixRoot>$(ArtifactsDir)Tools/WixTools/$(WixVersion)</WixRoot>
<WixDestinationPath>$(WixRoot)/WixTools.$(WixVersion).zip</WixDestinationPath>
@ -247,7 +247,7 @@
<Target Name="GenerateTemplatesMsis"
DependsOnTargets="GenerateLayout;AcquireWix;MsiTargetsSetupInputOutputs;SetSdkBrandingInfo;SetupTemplatesMsis"
Condition="$(ProductMonikerRid.StartsWith('win')) And !$(Architecture.StartsWith('arm'))"
Condition="$(ProductMonikerRid.StartsWith('win')) And '$(Architecture)' != 'arm'"
Inputs="@(TemplatesMsiComponent);$(TemplatesGenerateMsiPowershellScript)"
Outputs="%(TemplatesMsiComponent.MSIInstallerFile)">
@ -295,6 +295,9 @@
<UpgradeCode>$(Templates50InstallerUpgradeCode)</UpgradeCode>
<DependencyKeyName>NetCore_Templates_5.0</DependencyKeyName>
</TemplatesMsiComponent>
</ItemGroup>
<ItemGroup Condition="!$(Architecture.StartsWith('arm'))">
<TemplatesMsiComponent Include="NetCore31TemplatesMsi">
<LayoutPath>$(Templates31LayoutPath.TrimEnd('\'))</LayoutPath>
<MSIInstallerFile>$(Templates31MSIInstallerFile)</MSIInstallerFile>
@ -551,7 +554,7 @@
GenerateVSToolsResolverNupkg;
GenerateSdkMSBuildExtensionsNupkg;
GenerateVSTemplateLocatorNupkg"
Condition=" '$(OS)' == 'Windows_NT' and !$(Architecture.StartsWith('arm')) " />
Condition=" '$(OS)' == 'Windows_NT' and '$(Architecture)' != 'arm' " />
</Project>

View file

@ -183,10 +183,15 @@
<ItemGroup>
<TemplatesMsiFilesToSign Include="$(Templates50MSIInstallerFile)" />
</ItemGroup>
<ItemGroup Condition="!$(Architecture.StartsWith('arm'))">
<TemplatesMsiFilesToSign Include="$(Templates31MSIInstallerFile)" />
<TemplatesMsiFilesToSign Include="$(Templates30MSIInstallerFile)" />
<TemplatesMsiFilesToSign Include="$(Templates21MSIInstallerFile)" />
</ItemGroup>
<ItemGroup>
<TemplatesMsiFileSignInfo Include="@(TemplatesMsiFilesToSign->'%(Filename)%(Extension)')">
<CertificateName>$(InternalCertificateId)</CertificateName>
</TemplatesMsiFileSignInfo>

View file

@ -58,6 +58,21 @@
此產品會收集使用方式資料
• 如需詳細資訊並退出,請前往 https://aka.ms/dotnet-cli-telemetry
資源
• 如需 .NET 文件,請前往 https://aka.ms/dotnet-docs
• 如需 SDK 文件,請前往 https://aka.ms/dotnet-sdk-docs
• 如需版本資訊,請前往 https://aka.ms/dotnet5-release-notes
• 如需教學課程,請前往 https://aka.ms/dotnet-tutorials</String>
<String Id="FirstTimeWelcomeMessageArm64">安裝成功。
下列項目已安裝在: '[DOTNETHOME]'
• .NET SDK [DOTNETSDKVERSION]
• .NET Runtime [DOTNETRUNTIMEVERSION]
• ASP.NET Core Runtime [ASPNETCOREVERSION]
此產品會收集使用方式資料
• 如需詳細資訊並退出,請前往 https://aka.ms/dotnet-cli-telemetry
資源
• 如需 .NET 文件,請前往 https://aka.ms/dotnet-docs
• 如需 SDK 文件,請前往 https://aka.ms/dotnet-sdk-docs

View file

@ -58,6 +58,21 @@ Do [DOTNETHOME] byly nainstalovány tyto součásti:
Tento produkt shromažďuje data o využití.
• Další informace a vyjádření výslovného nesouhlasu: https://aka.ms/dotnet-cli-telemetry
Zdroje informací
• Dokumentace k .NET : https://aka.ms/dotnet-docs
• Dokumentace k sadě SDK: https://aka.ms/dotnet-sdk-docs
• Zpráva k vydání verze: https://aka.ms/dotnet5-release-notes
• Kurzy: https://aka.ms/dotnet-tutorials</String>
<String Id="FirstTimeWelcomeMessageArm64">Instalace proběhla úspěšně.
Do [DOTNETHOME] byly nainstalovány tyto součásti:
• Sada .NET SDK [DOTNETSDKVERSION]
• Modul runtime .NET [DOTNETRUNTIMEVERSION]
• Modul runtime ASP.NET Core [ASPNETCOREVERSION]
Tento produkt shromažďuje data o využití.
• Další informace a vyjádření výslovného nesouhlasu: https://aka.ms/dotnet-cli-telemetry
Zdroje informací
• Dokumentace k .NET : https://aka.ms/dotnet-docs
• Dokumentace k sadě SDK: https://aka.ms/dotnet-sdk-docs

View file

@ -58,6 +58,21 @@ Folgende Komponenten wurden unter [DOTNETHOME] installiert:
Dieses Produkt erfasst Nutzungsdaten.
• Weitere Informationen und Deaktivieren der Erfassung: https://aka.ms/dotnet-cli-telemetry
Ressourcen
• .NET-Dokumentation: https://aka.ms/dotnet-docs
• SDK-Dokumentation: https://aka.ms/dotnet-sdk-docs
• Versionshinweise: https://aka.ms/dotnet5-release-notes
• Tutorials: https://aka.ms/dotnet-tutorials</String>
<String Id="FirstTimeWelcomeMessageArm64">Die Installation war erfolgreich.
Folgende Komponenten wurden unter [DOTNETHOME] installiert:
• .NET SDK [DOTNETSDKVERSION]
• .NET-Runtime [DOTNETRUNTIMEVERSION]
• ASP.NET Core-Runtime [ASPNETCOREVERSION]
Dieses Produkt erfasst Nutzungsdaten.
• Weitere Informationen und Deaktivieren der Erfassung: https://aka.ms/dotnet-cli-telemetry
Ressourcen
• .NET-Dokumentation: https://aka.ms/dotnet-docs
• SDK-Dokumentation: https://aka.ms/dotnet-sdk-docs

View file

@ -58,6 +58,21 @@ The following were installed at: '[DOTNETHOME]'
This product collects usage data
• More information and opt-out https://aka.ms/dotnet-cli-telemetry
Resources
• .NET Documentation https://aka.ms/dotnet-docs
• SDK Documentation https://aka.ms/dotnet-sdk-docs
• Release Notes https://aka.ms/dotnet5-release-notes
• Tutorials https://aka.ms/dotnet-tutorials</String>
<String Id="FirstTimeWelcomeMessageArm64">The installation was successful.
The following were installed at: '[DOTNETHOME]'
• .NET SDK [DOTNETSDKVERSION]
• .NET Runtime [DOTNETRUNTIMEVERSION]
• ASP.NET Core Runtime [ASPNETCOREVERSION]
This product collects usage data
• More information and opt-out https://aka.ms/dotnet-cli-telemetry
Resources
• .NET Documentation https://aka.ms/dotnet-docs
• SDK Documentation https://aka.ms/dotnet-sdk-docs

View file

@ -58,6 +58,21 @@ Les éléments suivants ont été installés sur : '[DOTNETHOME]'
Ce produit collecte des données d'utilisation
• Plus informations et refus d'adhésion sur https://aka.ms/dotnet-cli-telemetry
Ressources
• Documentation .NET sur https://aka.ms/dotnet-docs
• Documentation de kit SDK sur https://aka.ms/dotnet-sdk-docs
• Notes de publication sur https://aka.ms/dotnet5-release-notes
• Tutoriels sur https://aka.ms/dotnet-tutorials</String>
<String Id="FirstTimeWelcomeMessageArm64">L'installation a réussi.
Les éléments suivants ont été installés sur : '[DOTNETHOME]'
• Kit SDK .NET [DOTNETSDKVERSION]
• Runtime .NET [DOTNETRUNTIMEVERSION]
• Runtime ASP.NET Core [ASPNETCOREVERSION]
Ce produit collecte des données d'utilisation
• Plus informations et refus d'adhésion sur https://aka.ms/dotnet-cli-telemetry
Ressources
• Documentation .NET sur https://aka.ms/dotnet-docs
• Documentation de kit SDK sur https://aka.ms/dotnet-sdk-docs

View file

@ -58,6 +58,21 @@ I componenti seguenti sono stati installati in '[DOTNETHOME]'
Questo prodotto consente di raccogliere i dati sull'utilizzo
• Altre informazioni e annullamento sottoscrizione https://aka.ms/dotnet-cli-telemetry
Risorse
• Documentazione di .NET https://aka.ms/dotnet-docs
• Documentazione dell'SDK https://aka.ms/dotnet-sdk-docs
• Note sulla versione https://aka.ms/dotnet5-release-notes
• Esercitazioni https://aka.ms/dotnet-tutorials</String>
<String Id="FirstTimeWelcomeMessageArm64">L'installazione è riuscita.
I componenti seguenti sono stati installati in '[DOTNETHOME]'
• .NET SDK [DOTNETSDKVERSION]
• Runtime di .NET [DOTNETRUNTIMEVERSION]
• Runtime di ASP.NET Core [ASPNETCOREVERSION]
Questo prodotto consente di raccogliere i dati sull'utilizzo
• Altre informazioni e annullamento sottoscrizione https://aka.ms/dotnet-cli-telemetry
Risorse
• Documentazione di .NET https://aka.ms/dotnet-docs
• Documentazione dell'SDK https://aka.ms/dotnet-sdk-docs

View file

@ -58,6 +58,21 @@
この製品は使用状況データを収集します
• 詳細およびオプトアウト https://aka.ms/dotnet-cli-telemetry
リソース
• .NET ドキュメント https://aka.ms/dotnet-docs
• SDK ドキュメント https://aka.ms/dotnet-sdk-docs
• リリース ノート https://aka.ms/dotnet5-release-notes
• チュートリアル https://aka.ms/dotnet-tutorials</String>
<String Id="FirstTimeWelcomeMessageArm64">インストールが成功しました。
'[DOTNETHOME]' に以下がインストールされました
• .NET SDK [DOTNETSDKVERSION]
• .NET Runtime [DOTNETRUNTIMEVERSION]
• ASP.NET Core Runtime [ASPNETCOREVERSION]
この製品は使用状況データを収集します
• 詳細およびオプトアウト https://aka.ms/dotnet-cli-telemetry
リソース
• .NET ドキュメント https://aka.ms/dotnet-docs
• SDK ドキュメント https://aka.ms/dotnet-sdk-docs

View file

@ -58,6 +58,21 @@
이 제품은 사용량 현황 데이터를 수집합니다.
• 추가 정보 및 옵트아웃 https://aka.ms/dotnet-cli-telemetry
리소스
• .NET 설명서 https://aka.ms/dotnet-docs
• SDK 설명서 https://aka.ms/dotnet-sdk-docs
• 릴리스 정보 https://aka.ms/dotnet5-release-notes
• 자습서 https://aka.ms/dotnet-tutorials</String>
<String Id="FirstTimeWelcomeMessageArm64">설치가 완료되었습니다.
다음이 '[DOTNETHOME]'에 설치되었습니다.
• .NET SDK [DOTNETSDKVERSION]
• .NET 런타임 [DOTNETRUNTIMEVERSION]
• ASP.NET Core 런타임 [ASPNETCOREVERSION]
이 제품은 사용량 현황 데이터를 수집합니다.
• 추가 정보 및 옵트아웃 https://aka.ms/dotnet-cli-telemetry
리소스
• .NET 설명서 https://aka.ms/dotnet-docs
• SDK 설명서 https://aka.ms/dotnet-sdk-docs

View file

@ -58,6 +58,21 @@ Następujące elementy zostały zainstalowane w: „[DOTNETHOME]”
Ten produkt gromadzi dane dotyczące użycia
• Więcej informacji i rezygnacja: https://aka.ms/dotnet-cli-telemetry
Zasoby
• Dokumentacja platformy .NET: https://aka.ms/dotnet-docs
• Dokumentacja zestawu SDK: https://aka.ms/dotnet-sdk-docs
• Informacje o wersji: https://aka.ms/dotnet5-release-notes
• Samouczki: https://aka.ms/dotnet-tutorials</String>
<String Id="FirstTimeWelcomeMessageArm64">Instalacja zakończyła się pomyślnie.
Następujące elementy zostały zainstalowane w: „[DOTNETHOME]”
• Zestaw .NET SDK [DOTNETSDKVERSION]
• Środowisko uruchomieniowe platformy .NET [DOTNETRUNTIMEVERSION]
• Środowisko uruchomieniowe platformy ASP.NET Core [ASPNETCOREVERSION]
Ten produkt gromadzi dane dotyczące użycia
• Więcej informacji i rezygnacja: https://aka.ms/dotnet-cli-telemetry
Zasoby
• Dokumentacja platformy .NET: https://aka.ms/dotnet-docs
• Dokumentacja zestawu SDK: https://aka.ms/dotnet-sdk-docs

View file

@ -58,6 +58,21 @@ O seguinte foi instalado em: '[DOTNETHOME]'
Este produto coleta dados de uso
• Para obter mais informações ou recusá-lo, acesse https://aka.ms/dotnet-cli-telemetry
Recursos
• Documentação do .NET: https://aka.ms/dotnet-docs
• Documentação do SDK: https://aka.ms/dotnet-sdk-docs
• Notas sobre a Versão: https://aka.ms/netcore3releasenotes
• Tutoriais: https://aka.ms/dotnet-tutorials</String>
<String Id="FirstTimeWelcomeMessageArm64">A instalação foi bem-sucedida.
O seguinte foi instalado em: '[DOTNETHOME]'
• SDK do .NET [DOTNETSDKVERSION]
• Runtime do .NET [DOTNETRUNTIMEVERSION]
• Runtime do ASP.NET Core [ASPNETCOREVERSION]
Este produto coleta dados de uso
• Para obter mais informações ou recusá-lo, acesse https://aka.ms/dotnet-cli-telemetry
Recursos
• Documentação do .NET: https://aka.ms/dotnet-docs
• Documentação do SDK: https://aka.ms/dotnet-sdk-docs

View file

@ -58,6 +58,21 @@
Этот продукт собирает данные об использовании.
• Чтобы получить дополнительные сведения или отказаться от использования продукта, перейдите на страницу https://aka.ms/dotnet-cli-telemetry
Ресурсы
• Документация по .NET: https://aka.ms/dotnet-docs
• Документация по SDK: https://aka.ms/dotnet-sdk-docs
• Заметки о выпуске: https://aka.ms/dotnet5-release-notes
• Учебники: https://aka.ms/dotnet-tutorials</String>
<String Id="FirstTimeWelcomeMessageArm64">Установка выполнена.
В "[DOTNETHOME]" установлены следующие компоненты:
• Пакет SDK для .NET [DOTNETSDKVERSION]
• Среда выполнения .NET [DOTNETRUNTIMEVERSION]
• Среда выполнения ASP.NET Core [ASPNETCOREVERSION]
Этот продукт собирает данные об использовании.
• Чтобы получить дополнительные сведения или отказаться от использования продукта, перейдите на страницу https://aka.ms/dotnet-cli-telemetry
Ресурсы
• Документация по .NET: https://aka.ms/dotnet-docs
• Документация по SDK: https://aka.ms/dotnet-sdk-docs

View file

@ -58,6 +58,21 @@ Aşağıdakiler şu konumda yüklü: '[DOTNETHOME]'
Bu ürün, kullanım verilerini toplar
• Daha fazla bilgi ve katılmamayı seçmek için bkz. https://aka.ms/dotnet-cli-telemetry
Kaynaklar
• .NET Belgeleri https://aka.ms/dotnet-docs
• SDK Belgeleri https://aka.ms/dotnet-sdk-docs
• Sürüm Notları https://aka.ms/dotnet5-release-notes
• Öğreticiler https://aka.ms/dotnet-tutorials</String>
<String Id="FirstTimeWelcomeMessageArm64">Yükleme başarılı oldu.
Aşağıdakiler şu konumda yüklü: '[DOTNETHOME]'
• .NET SDK [DOTNETSDKVERSION]
• .NET Çalışma Zamanı [DOTNETRUNTIMEVERSION]
• ASP.NET Core Çalışma Zamanı [ASPNETCOREVERSION]
Bu ürün, kullanım verilerini toplar
• Daha fazla bilgi ve katılmamayı seçmek için bkz. https://aka.ms/dotnet-cli-telemetry
Kaynaklar
• .NET Belgeleri https://aka.ms/dotnet-docs
• SDK Belgeleri https://aka.ms/dotnet-sdk-docs

View file

@ -58,6 +58,21 @@
此产品会收集用法数据
• 详细信息和选择退出选项: https://aka.ms/dotnet-cli-telemetry
资源
• .NET 文档: https://aka.ms/dotnet-docs
• SDK 文档: https://aka.ms/dotnet-sdk-docs
• 发行说明: https://aka.ms/dotnet5-release-notes
• 教程: https://aka.ms/dotnet-tutorials</String>
<String Id="FirstTimeWelcomeMessageArm64">已成功安装。
下列项安装于: "[DOTNETHOME]"
• .NET SDK [DOTNETSDKVERSION]
• .NET 运行时 [DOTNETRUNTIMEVERSION]
• ASP.NET Core 运行时 [ASPNETCOREVERSION]
此产品会收集用法数据
• 详细信息和选择退出选项: https://aka.ms/dotnet-cli-telemetry
资源
• .NET 文档: https://aka.ms/dotnet-docs
• SDK 文档: https://aka.ms/dotnet-sdk-docs

View file

@ -58,6 +58,21 @@ Se instaló lo siguiente en: "[DOTNETHOME]"
Este producto recopila datos de uso
• Para obtener más información y declinar la participación, visite https://aka.ms/dotnet-cli-telemetry
Recursos
• Documentación de .NET https://aka.ms/dotnet-docs
• Documentación del SDK https://aka.ms/dotnet-sdk-docs
• Notas de la versión https://aka.ms/dotnet5-release-notes
• Tutoriales https://aka.ms/dotnet-tutorials</String>
<String Id="FirstTimeWelcomeMessageArm64">La instalación se realizó correctamente.
Se instaló lo siguiente en: "[DOTNETHOME]"
• SDK de .NET [DOTNETSDKVERSION]
• .NET Runtime [DOTNETRUNTIMEVERSION]
• ASP.NET Core Runtime [ASPNETCOREVERSION]
Este producto recopila datos de uso
• Para obtener más información y declinar la participación, visite https://aka.ms/dotnet-cli-telemetry
Recursos
• Documentación de .NET https://aka.ms/dotnet-docs
• Documentación del SDK https://aka.ms/dotnet-sdk-docs

View file

@ -14,6 +14,10 @@
WixBundleInstalled OR ((NOT (DOTNETHOME_X64 ~= DOTNETHOME_X86)) OR DOTNETHOMESIMILARITYCHECKOVERRIDE)
</bal:Condition>
<bal:Condition Message="The installation path for ARM64 SDK installations: &quot;[DOTNETHOME_ARM64]&quot; cannot be the same as for x86 SDK installations: &quot;[DOTNETHOME_X86]&quot;">
WixBundleInstalled OR ((NOT (DOTNETHOME_ARM64 ~= DOTNETHOME_X86)) OR DOTNETHOMESIMILARITYCHECKOVERRIDE)
</bal:Condition>
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.Foundation">
<bal:WixStandardBootstrapperApplication
LicenseFile="dummyeula.rtf"
@ -25,13 +29,13 @@
<swid:Tag Regid="microsoft.com" InstallPath="[DOTNETHOME]" />
<util:RegistrySearch Id="CheckDotnetInstallLocation_x86"
<util:RegistrySearch Id="CheckDotnetInstallLocation_x86"
Variable="DotnetInstallLocationExists_x86"
Result="exists"
Root="HKLM"
Key="SOFTWARE\dotnet\Setup\InstalledVersions\x86"
Value="InstallLocation" />
<util:RegistrySearch Id="DotnetInstallLocation_x86"
<util:RegistrySearch Id="DotnetInstallLocation_x86"
After="CheckDotnetInstallLocation_x86"
Condition="DotnetInstallLocationExists_x86"
Variable="DOTNETHOME_X86"
@ -40,18 +44,19 @@
Key="SOFTWARE\dotnet\Setup\InstalledVersions\x86"
Value="InstallLocation" />
<util:FileSearch Id="DotnetExeSearch_x86"
<util:FileSearch Id="DotnetExeSearch_x86"
After="DotnetInstallLocation_x86"
Variable="DotnetExeExists_x86"
Condition="NOT DotnetInstallLocationExists_x86"
Result="exists"
Path="[ProgramFilesFolder]dotnet\dotnet.exe"/>
<util:DirectorySearch Id="DotnetExeLocation_x86"
<util:DirectorySearch Id="DotnetExeLocation_x86"
After="DotnetExeSearch_x86"
Condition="DotnetExeExists_x86"
Variable="DOTNETHOME_X86"
Path="[ProgramFilesFolder]dotnet"/>
<?if $(var.Platform)=x64?>
<util:RegistrySearch Id="CheckDotnetInstallLocation_x64"
Variable="DotnetInstallLocationExists_x64"
Result="exists"
@ -79,6 +84,35 @@
Variable="DOTNETHOME_X64"
Path="[ProgramFiles64Folder]dotnet"/>
<?elseif $(var.Platform)=arm64?>
<util:RegistrySearch Id="CheckDotnetInstallLocation_arm64"
Variable="DotnetInstallLocationExists_arm64"
Result="exists"
Root="HKLM"
Key="SOFTWARE\dotnet\Setup\InstalledVersions\arm64"
Value="InstallLocation" />
<util:RegistrySearch Id="DotnetInstallLocation_arm64"
After="CheckDotnetInstallLocation_arm64"
Condition="DotnetInstallLocationExists_arm64"
Variable="DOTNETHOME_ARM64"
Result="value"
Root="HKLM"
Key="SOFTWARE\dotnet\Setup\InstalledVersions\arm64"
Value="InstallLocation" />
<util:FileSearch Id="DotnetExeSearch_arm64"
After="DotnetInstallLocation_arm64"
Variable="DotnetExeExists_arm64"
Condition="NOT DotnetInstallLocationExists_arm64"
Result="exists"
Path="[ProgramFiles64Folder]dotnet\dotnet.exe"/>
<util:DirectorySearch Id="DotnetExeLocation_arm64"
After="DotnetExeSearch_arm64"
Condition="DotnetExeExists_arm64"
Variable="DOTNETHOME_ARM64"
Path="[ProgramFiles64Folder]dotnet"/>
<?endif?>
<!--
When installing the SDK bundle to a custom location using the commandline parameters, it is intended, not mandatory, that
both "DOTNETHOME_X86" and "DOTNETHOME_X64" should be used on the commandline and should take this convention:
@ -89,6 +123,7 @@
-->
<Variable Name="DOTNETHOME_X86" Type="string" Value="[ProgramFilesFolder]dotnet" bal:Overridable="yes" />
<Variable Name="DOTNETHOME_X64" Type="string" Value="[ProgramFiles64Folder]dotnet" bal:Overridable="yes" />
<Variable Name="DOTNETHOME_ARM64" Type="string" Value="[ProgramFiles64Folder]dotnet" bal:Overridable="yes" />
<Variable Name="DOTNETHOME" Type="string" Value="[DOTNETHOME_$(var.PlatformToken)]" bal:Overridable="no" />
<Variable Name="BUNDLEMONIKER" Type="string" Value="$(var.ProductMoniker)" bal:Overridable="no" />
<Variable Name="DOTNETSDKVERSION" Type="string" Value="$(var.NugetVersion)" bal:Overridable="no" />
@ -107,15 +142,13 @@
<MsiPackage SourceFile="$(var.SharedHostMsiSourcePath)">
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
</MsiPackage>
<MsiPackage SourceFile="$(var.WinFormsAndWpfMsiSourcePath)">
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
</MsiPackage>
<MsiPackage SourceFile="$(var.NetCoreAppTargetingPackMsiSourcePath)">
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
</MsiPackage>
<MsiPackage SourceFile="$(var.NetCoreAppHostPackMsiSourcePath)">
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
</MsiPackage>
<?if $(var.Platform)=x86 or $(var.Platform)=x64?>
<MsiPackage SourceFile="$(var.AlternateNetCoreAppHostPackMsiSourcePath)">
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
</MsiPackage>
@ -128,12 +161,16 @@
<MsiPackage SourceFile="$(var.NetStandardTargetingPackMsiSourcePath)">
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
</MsiPackage>
<MsiPackage SourceFile="$(var.AspNetTargetingPackMsiSourcePath)">
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
<MsiPackage SourceFile="$(var.WinFormsAndWpfMsiSourcePath)">
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
</MsiPackage>
<MsiPackage SourceFile="$(var.WindowsDesktopTargetingPackMsiSourcePath)">
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
</MsiPackage>
<?endif?>
<MsiPackage SourceFile="$(var.AspNetTargetingPackMsiSourcePath)">
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
</MsiPackage>
<MsiPackage SourceFile="$(var.TemplatesMsiSourcePath)">
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
<MsiProperty Name="ALLOWMSIINSTALL" Value="True" />
@ -142,6 +179,7 @@
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
<MsiProperty Name="DOTNETHOME_X86" Value="[DOTNETHOME_X86]" />
<MsiProperty Name="DOTNETHOME_X64" Value="[DOTNETHOME_X64]" />
<MsiProperty Name="DOTNETHOME_ARM64" Value="[DOTNETHOME_ARM64]" />
<MsiProperty Name="EXEFULLPATH" Value="[WixBundleOriginalSource]" />
<MsiProperty Name="ALLOWMSIINSTALL" Value="True" />
</MsiPackage>
@ -149,13 +187,23 @@
<PackageGroupRef Id="PG_AspNetCoreSharedFramework_x86"/>
<?elseif $(var.Platform)=x64?>
<PackageGroupRef Id="PG_AspNetCoreSharedFramework_x64"/>
<?elseif $(var.Platform)=arm64?>
<PackageGroupRef Id="PG_AspNetCoreSharedFramework_arm64"/>
<?endif?>
</Chain>
</Bundle>
<Fragment>
<PayloadGroup Id="DotnetCoreBAPayloads">
<!-- This theme is dupped with a slight change: It uses a modified version of FirstTimeWelcomeMessageArm64
for SuccessInstallHeader to account for ARM64's lack of support for WPF/WinForms. Once they converge, remove
this and remove FirstTimeWelcomeMessageArm64 from the wxl files. -->
<?if $(var.Platform)=arm64?>
<Payload Name="thm.xml" Compressed="yes" SourceFile="bundleArm64.thm" />
<?else?>
<Payload Name="thm.xml" Compressed="yes" SourceFile="bundle.thm" />
<?endif?>
<!-- Default/Neutral localized content is US English -->
<Payload Name="thm.wxl" Compressed="yes" SourceFile="LCID\1033\bundle.wxl" />
<Payload Name="bg.png" Compressed="yes" SourceFile="..\..\osx\clisdk\resources\dotnetbackground.png" />

View file

@ -0,0 +1,95 @@
<?xml version="1.0" encoding="utf-8"?>
<Theme xmlns="http://wixtoolset.org/schemas/thmutil/2010">
<Window Width="660" Height="488" HexStyle="100a0000" FontId="0">#(loc.Caption)</Window>
<Font Id="0" Height="-12" Weight="500" Foreground="000000" Background="FFFFFF">Segoe UI</Font>
<Font Id="1" Height="-24" Weight="900" Foreground="FFFFFF" Background="D42B51">Segoe UI</Font>
<Font Id="2" Height="-22" Weight="500" Foreground="666666">Segoe UI</Font>
<Font Id="3" Height="-12" Weight="500" Foreground="000000" Background="FFFFFF">Segoe UI</Font>
<Font Id="4" Height="-12" Weight="500" Foreground="ff0000" Background="FFFFFF" Underline="yes">Segoe UI</Font>
<Font Id="5" Height="-14" Weight="500" Foreground="444444">Segoe UI</Font>
<Text Name="Title" X="11" Y="11" Width="-11" Height="64" FontId="1" Visible="yes" Center="yes" DisablePrefix="yes">#(loc.Title)</Text>
<Page Name="Help">
<Image Name="BackgroundImage" X="0" Y="0" Width="620" Height="418" ImageFile="bg.png" />
<Text X="0" Y="0" Width="660" Height="75" FontId="1" />
<Text Name="HelpHeader" X="151" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.HelpHeader)</Text>
<Text Name="HelpText" X="160" Y="115" Width="-11" Height="-35" FontId="3" DisablePrefix="yes">#(loc.HelpText)</Text>
<Button Name="HelpCancelButton" X="-32" Y="-11" Width="99" Height="23" TabStop="yes" FontId="0">#(loc.HelpCloseButton)</Button>
</Page>
<Page Name="Install">
<Image Name="BackgroundImage" X="0" Y="0" Width="620" Height="418" ImageFile="bg.png" />
<Text X="0" Y="0" Width="660" Height="75" FontId="1" />
<Text Name="WelcomeText" X="155" Y="80" Width="-11" Height="-70" FontId="2" HexStyle="0x800000" DisablePrefix="yes" />
<Text Name="WelcomeHeaderMessage" X="160" Y="80" Width="300" Height="30" FontId="2">#(loc.WelcomeHeaderMessage)</Text>
<Text Name="WelcomeDescription" X="160" Y="125" Width="460" Height="65" FontId="3">#(loc.WelcomeDescription)</Text>
<Hypertext Name="VisualStudioWarning" X="160" Y="209" Width="460" Height="30" TabStop="yes" FontId="3" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.VisualStudioWarning)</Hypertext>
<Text Name="LicenseAssent" X="160" Y="264" Width="460" Height="30" FontId="3">#(loc.LicenseAssent)</Text>
<Hypertext Name="PrivacyStatementLink" X="185" Y="301" Width="400" Height="22" FontId="3" TabStop="yes" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.PrivacyStatementLink)</Hypertext>
<Hypertext Name="DotNetEulaLink" X="185" Y="323" Width="400" Height="22" FontId="3" TabStop="yes" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.DotNetEulaLink)</Hypertext>
<Button Name="InstallButton" X="-133" Y="-11" Width="99" Height="23" TabStop="yes" FontId="0">#(loc.InstallInstallButton)</Button>
<Button Name="WelcomeCancelButton" X="-32" Y="-11" Width="99" Height="23" TabStop="yes" FontId="0">#(loc.InstallCloseButton)</Button>
</Page>
<Page Name="FilesInUse">
<Text X="0" Y="0" Width="660" Height="75" FontId="1" />
<Text Name="FilesInUseHeader" X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.FilesInUseHeader)</Text>
<Text Name="FilesInUseLabel" X="11" Y="121" Width="-11" Height="34" FontId="3" DisablePrefix="yes">#(loc.FilesInUseLabel)</Text>
<Text Name="FilesInUseText" X="11" Y="150" Width="-11" Height="-86" FontId="3" DisablePrefix="yes" HexStyle="0x0000000C"></Text>
<Button Name="FilesInUseCloseRadioButton" X="300" Y="-65" Width="-11" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes" HexStyle="0x000009">#(loc.FilesInUseCloseRadioButton)</Button>
<Button Name="FilesInUseDontCloseRadioButton" X="300" Y="-45" Width="-11" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes" HexStyle="0x000009">#(loc.FilesInUseDontCloseRadioButton)</Button>
<Button Name="FilesInUseOkButton" X="-133" Y="-11" Width="99" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.FilesInUseOkButton)</Button>
<Button Name="FilesInUseCancelButton" X="-32" Y="-11" Width="99" Height="23" TabStop="yes" FontId="0">#(loc.FilesInUseCancelButton)</Button>
<Image Name="BackgroundImage" X="0" Y="0" Width="620" Height="418" ImageFile="bg.png" />
</Page>
<Page Name="Progress">
<Image Name="BackgroundImage" X="0" Y="0" Width="620" Height="418" ImageFile="bg.png" />
<Text X="0" Y="0" Width="660" Height="75" FontId="1" />
<Text Name="ProgressHeader" X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.ProgressHeader)</Text>
<Text Name="ProgressLabel" X="11" Y="121" Width="70" Height="17" FontId="3" DisablePrefix="yes">#(loc.ProgressLabel)</Text>
<Text Name="OverallProgressPackageText" X="85" Y="121" Width="-11" Height="17" FontId="3" DisablePrefix="yes">#(loc.OverallProgressPackageText)</Text>
<Progressbar Name="OverallCalculatedProgressbar" X="11" Y="143" Width="-11" Height="15" />
<Button Name="ProgressCancelButton" X="-32" Y="-11" Width="99" Height="23" TabStop="yes" FontId="0">#(loc.ProgressCancelButton)</Button>
</Page>
<Page Name="Modify">
<Image Name="BackgroundImage" X="0" Y="0" Width="620" Height="418" ImageFile="bg.png" />
<Text X="0" Y="0" Width="660" Height="75" FontId="1" />
<Text Name="ModifyHeader" X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.ModifyHeader)</Text>
<Button Name="RepairButton" X="-234" Y="-11" Width="99" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.ModifyRepairButton)</Button>
<Button Name="UninstallButton" X="-133" Y="-11" Width="99" Height="23" TabStop="yes" FontId="0">#(loc.ModifyUninstallButton)</Button>
<Button Name="ModifyCancelButton" X="-32" Y="-11" Width="99" Height="23" TabStop="yes" FontId="0">#(loc.ModifyCloseButton)</Button>
</Page>
<Page Name="Success">
<Image Name="BackgroundImage" X="0" Y="0" Width="620" Height="418" ImageFile="bg.png" />
<Text X="0" Y="0" Width="660" Height="75" FontId="1" />
<Text Name="SuccessHeader" X="11" Y="80" Width="-11" Height="30" FontId="2" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.SuccessHeader)</Text>
<Richedit Name="SuccessInstallHeader" X="160" Y="81" Width="-12" Height="-71" FontId="5" HideWhenDisabled="yes">#(loc.FirstTimeWelcomeMessageArm64)</Richedit>
<Text Name="SuccessRepairHeader" X="160" Y="80" Width="-11" Height="30" FontId="2" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.SuccessRepairHeader)</Text>
<Text Name="SuccessUninstallHeader" X="160" Y="80" Width="-11" Height="30" FontId="2" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.SuccessUninstallHeader)</Text>
<Button Name="LaunchButton" X="-133" Y="-11" Width="99" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.SuccessLaunchButton)</Button>
<Text Name="SuccessRestartText" X="-11" Y="-40" Width="400" Height="23" FontId="3" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.SuccessRestartText)</Text>
<Button Name="SuccessRestartButton" X="-133" Y="-11" Width="99" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.SuccessRestartButton)</Button>
<Button Name="SuccessCancelButton" X="-32" Y="-11" Width="99" Height="23" TabStop="yes" FontId="0">#(loc.SuccessCloseButton)</Button>
</Page>
<Page Name="Failure">
<Image Name="BackgroundImage" X="0" Y="0" Width="620" Height="418" ImageFile="bg.png" />
<Text X="0" Y="0" Width="660" Height="75" FontId="1" />
<Text Name="FailureHeader" X="11" Y="80" Width="-11" Height="30" FontId="2" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.FailureHeader)</Text>
<Text Name="FailureInstallHeader" X="11" Y="80" Width="-11" Height="30" FontId="2" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.FailureInstallHeader)</Text>
<Text Name="FailureUninstallHeader" X="11" Y="80" Width="-11" Height="30" FontId="2" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.FailureUninstallHeader)</Text>
<Text Name="FailureRepairHeader" X="11" Y="80" Width="-11" Height="30" FontId="2" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.FailureRepairHeader)</Text>
<Hypertext Name="FailureLogFileLink" X="11" Y="121" Width="-11" Height="42" FontId="3" TabStop="yes" HideWhenDisabled="yes">#(loc.FailureHyperlinkLogText)</Hypertext>
<Hypertext Name="FailureMessageText" X="22" Y="163" Width="-11" Height="51" FontId="3" TabStop="yes" HideWhenDisabled="yes" />
<Text Name="FailureRestartText" X="-11" Y="-40" Width="400" Height="34" FontId="3" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.FailureRestartText)</Text>
<Button Name="FailureRestartButton" X="-133" Y="-11" Width="99" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.FailureRestartButton)</Button>
<Button Name="FailureCloseButton" X="-32" Y="-11" Width="99" Height="23" TabStop="yes" FontId="0">#(loc.FailureCloseButton)</Button>
</Page>
</Theme>

View file

@ -2,7 +2,7 @@
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<?include "Variables.wxi" ?>
<Product Id="*" Name="$(var.ProductName)" Language="$(var.ProductLanguage)" Version="$(var.ProductVersion)" Manufacturer="$(var.Manufacturer)" UpgradeCode="$(var.UpgradeCode)">
<Package Compressed="yes" InstallScope="perMachine" InstallerVersion="200" />
<Package Compressed="yes" InstallScope="perMachine" InstallerVersion="$(var.InstallerVersion)" />
<Condition Message="$(var.ProductName) must be installed as part of a coordinated SDK installation.">
Installed OR ALLOWMSIINSTALL

View file

@ -15,6 +15,12 @@
<RegistryValue Action="write" Name="WpfWinformsTemplates" Type="integer" Value="1" KeyPath="yes"/>
</RegistryKey>
</Component>
<Component Id="DotnetInstallLocation_arm64" Directory="TARGETDIR" Win64="no">
<Condition>VersionNT64 AND DOTNETHOME_ARM64</Condition>
<RegistryKey Root="HKLM" Key="SOFTWARE\dotnet\Setup\InstalledVersions\arm64">
<RegistryValue Action="write" Name="InstallLocation" Type="string" Value="[DOTNETHOME_ARM64]" KeyPath="yes"/>
</RegistryKey>
</Component>
<Component Id="DotnetInstallLocation_x64" Directory="TARGETDIR" Win64="no">
<Condition>VersionNT64 AND DOTNETHOME_X64</Condition>
<RegistryKey Root="HKLM" Key="SOFTWARE\dotnet\Setup\InstalledVersions\x64">

View file

@ -2,7 +2,7 @@
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<?include "Variables.wxi" ?>
<Product Id="*" Name="$(var.ProductName)" Language="$(var.ProductLanguage)" Version="$(var.ProductVersion)" Manufacturer="$(var.Manufacturer)" UpgradeCode="$(var.UpgradeCode)">
<Package Compressed="yes" InstallScope="perMachine" InstallerVersion="200" />
<Package Compressed="yes" InstallScope="perMachine" InstallerVersion="$(var.InstallerVersion)" />
<Condition Message="$(var.ProductName) must be installed as part of a coordinated SDK installation.">
Installed OR ALLOWMSIINSTALL

View file

@ -26,10 +26,23 @@
<?define WixQuietExec="WixQuietExec64"?>
<?define Program_Files="ProgramFiles64Folder"?>
<?define Win64AttributeValue=yes?>
<?elseif $(var.Platform)=arm64?>
<?define PlatformToken="ARM64"?>
<?define WixQuietExec="WixQuietExec64"?>
<?define Program_Files="ProgramFiles64Folder"?>
<?define Win64AttributeValue=yes?>
<?else?>
<?error Invalid Platform ($(var.Platform))?>
<?endif?>
<!-- See https://docs.microsoft.com/en-us/windows/win32/msi/using-64-bit-windows-installer-packages. -->
<!-- For 64-bit packages on the Arm64 platform, the Windows Installer database schema must be 500 or higher. -->
<?if $(var.Platform)=arm64?>
<?define InstallerVersion="500"?>
<?else?>
<?define InstallerVersion="200"?>
<?endif?>
<?define DependencyKey = "$(var.DependencyKeyName)_$(var.SDKBundleVersion)_$(var.Platform)"?>
<?define DependencyKeyId = "$(var.DependencyKey)" ?>
</Include>

View file

@ -2,7 +2,6 @@
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using System.Xml.Linq;
using Microsoft.DotNet.TestFramework;
@ -83,51 +82,6 @@ namespace EndToEnd.Tests
.Should().Pass().And.HaveStdOutContaining("Hello World!");
}
[WindowsOnlyFact]
public void ItCanPublishArm64Winforms()
{
DirectoryInfo directory = TestAssets.CreateTestDirectory();
string projectDirectory = directory.FullName;
string newArgs = "winforms --no-restore";
new NewCommandShim()
.WithWorkingDirectory(projectDirectory)
.Execute(newArgs)
.Should().Pass();
string publishArgs="-r win-arm64";
new PublishCommand()
.WithWorkingDirectory(projectDirectory)
.Execute(publishArgs)
.Should().Pass();
var selfContainedPublishDir = new DirectoryInfo(projectDirectory)
.Sub("bin").Sub("Debug").GetDirectories().FirstOrDefault()
.Sub("win-arm64").Sub("publish");
selfContainedPublishDir.Should().HaveFilesMatching("System.Windows.Forms.dll", SearchOption.TopDirectoryOnly);
selfContainedPublishDir.Should().HaveFilesMatching($"{directory.Name}.dll", SearchOption.TopDirectoryOnly);
}
[WindowsOnlyFact]
public void ItCantPublishArm64Wpf()
{
DirectoryInfo directory = TestAssets.CreateTestDirectory();
string projectDirectory = directory.FullName;
string newArgs = "wpf --no-restore";
new NewCommandShim()
.WithWorkingDirectory(projectDirectory)
.Execute(newArgs)
.Should().Pass();
string publishArgs="-r win-arm64";
new PublishCommand()
.WithWorkingDirectory(projectDirectory)
.Execute(publishArgs)
.Should().Fail();
}
[Theory]
[InlineData("console")]
[InlineData("classlib")]