Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion Build.proj
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@
<ItemGroup>
<!-- Microsoft.WindowsDesktop.App shared framework -->
<ProjectReference Include="src\windowsdesktop\src\sfx\**\*.sfxproj" />
<ProjectReference Include="src\windowsdesktop\src\bundle\**\*.bundleproj" />
<!-- Windows Desktop Runtime Bundle -->
<ProjectReference Include="src\windowsdesktop\src\bundle\**\*.wixproj" />
<ProjectReference Include="src\windowsdesktop\tests\**\*.Tests.csproj" />

<!-- Microsoft.Windows.Compatibility nuget meta package -->
Expand Down
48 changes: 45 additions & 3 deletions Directory.Build.props
Original file line number Diff line number Diff line change
@@ -1,8 +1,16 @@
<Project>

<Import Project="Sdk.props" Sdk="Microsoft.DotNet.Arcade.Sdk" />

<PropertyGroup>
<!-- WiX v5 Configuration -->
<UseWix5>true</UseWix5>

<!-- WiX v5 PDB Type Fix -->
<WixToolsetCompilerPdbType>full</WixToolsetCompilerPdbType>
<WixToolsetLinkerPdbType>full</WixToolsetLinkerPdbType>


<RunWixpackTargets>true</RunWixpackTargets>

<!-- Packaging properties -->
<RepositoryUrl>https://github.com/dotnet/windowsdesktop</RepositoryUrl>
<PackageProjectUrl>https://dot.net</PackageProjectUrl>
Expand All @@ -20,7 +28,9 @@
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>

<!-- Platform detection -->
<TargetArchitecture Condition="'$(TargetArchitecture)' == ''">x64</TargetArchitecture>
<!-- Map Platform property to TargetArchitecture, but skip AnyCPU which is not valid for WiX -->
<TargetArchitecture Condition="'$(TargetArchitecture)' == '' AND '$(Platform)' != '' AND '$(Platform)' != 'AnyCPU'">$(Platform)</TargetArchitecture>
<TargetArchitecture Condition="'$(TargetArchitecture)' == ''">x64</TargetArchitecture>

<!-- Only upgrade NuGetAudit warnings to errors for official builds. -->
<WarningsNotAsErrors Condition="'$(OfficialBuild)' != 'true'">$(WarningsNotAsErrors);NU1901;NU1902;NU1903;NU1904</WarningsNotAsErrors>
Expand All @@ -29,4 +39,36 @@
<PortableBuild Condition="'$(PortableBuild)' != 'false'">true</PortableBuild>
</PropertyGroup>

<PropertyGroup>
<OfficialBaseURL>https://builds.dotnet.microsoft.com/dotnet/</OfficialBaseURL>
<!-- Allow overriding the public base URL for Unified Build scenarios to pull assets from a local build. -->
<PublicBaseURL Condition="'$(PublicBaseURL)' == ''">https://ci.dot.net/public/</PublicBaseURL>
<InternalBaseURL>https://ci.dot.net/internal/</InternalBaseURL>
<!-- Allow overriding where installers are pulled in from previously completed jobs in Unified Build scenarios. -->
<AddVersionToCrossArchitectureInstallerBasePath Condition="'$(CrossArchitectureInstallerBasePath)' != ''">true</AddVersionToCrossArchitectureInstallerBasePath>
<CrossArchitectureInstallerBasePath Condition="'$(CrossArchitectureInstallerBasePath)' == ''">$(ArtifactsShippingPackagesDir)</CrossArchitectureInstallerBasePath>
</PropertyGroup>

<!-- Try various places to find the runtime. It's either released (use official version),
public but un-released (use dotnetbuilds/public), or internal and unreleased (use dotnetbuilds/internal) -->
<ItemGroup Condition="'$(DotNetBuild)' != 'true'">
<RemoteAssetBaseURL Include="$(OfficialBaseURL)" />
<RemoteAssetBaseURL Include="$(PublicBaseURL)" />
<!-- Include the token here as we'll generate the URLs to download based on this item group. -->
<RemoteAssetBaseURL Include="$(InternalBaseURL)"
Condition=" '$(DotnetRuntimeSourceFeedKey)' != '' ">
<token>$(DotnetRuntimeSourceFeedKey)</token>
</RemoteAssetBaseURL>
</ItemGroup>

<!--
Only try downloading from the "public" base URL when doing a vertical build.
In a vertical build, the public URL will be overwritten to point to local build artifacts.
-->
<ItemGroup Condition="'$(DotNetBuild)' == 'true'">
<!-- MSBuild removes the '//' slashes when passing PublicBaseURL from the outer to the inner build. -->
<RemoteAssetBaseURL Condition="$(PublicBaseURL.StartsWith('file:')) and '$(OS)' != 'Windows_NT'" Include="$([System.Text.RegularExpressions.Regex]::Replace('$(PublicBaseURL)', '%28file:\/{1,}%29%28.+%29', 'file:///%242'))" />
<RemoteAssetBaseURL Condition="!$(PublicBaseURL.StartsWith('file:')) or '$(OS)' == 'Windows_NT'" Include="$(PublicBaseURL)" />
</ItemGroup>

</Project>
10 changes: 10 additions & 0 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@

<!-- CoreFx dependencies -->
<PackageVersion Include="System.Data.DataSetExtensions" Version="$(SystemDataDataSetExtensionsVersion)" />
<PackageVersion Include="System.Data.SqlClient" Version="$(SystemDataSqlClientVersion)" />
<PackageVersion Include="System.Reflection.Emit.ILGeneration" Version="$(SystemReflectionEmitILGenerationVersion)" />
<PackageVersion Include="System.Reflection.Emit.Lightweight" Version="$(SystemReflectionEmitLightweightVersion)" />
<PackageVersion Include="System.Reflection.Emit" Version="$(SystemReflectionEmitVersion)" />
Expand Down Expand Up @@ -70,6 +71,15 @@
<!-- WPF dependencies-->
<PackageVersion Include="Microsoft.DotNet.Wpf.GitHub" Version="$(MicrosoftDotNetWpfGitHubVersion)" />
<PackageVersion Include="Microsoft.Internal.Runtime.WindowsDesktop.Transport" Version="$(MicrosoftInternalRuntimeWindowsDesktopTransportVersion)" />

<!-- WiX dependencies -->
<PackageVersion Include="Microsoft.Wix" Version="$(MicrosoftWixToolsetSdkVersion)" />
<PackageVersion Include="Microsoft.WixToolset.Bal.wixext" Version="$(MicrosoftWixToolsetSdkVersion)" />
<PackageVersion Include="Microsoft.WixToolset.Dependency.wixext" Version="$(MicrosoftWixToolsetSdkVersion)" />
<PackageVersion Include="Microsoft.WixToolset.Heat" Version="$(MicrosoftWixToolsetSdkVersion)" />
<PackageVersion Include="Microsoft.WixToolset.UI.wixext" Version="$(MicrosoftWixToolsetSdkVersion)" />
<PackageVersion Include="Microsoft.WixToolset.Util.wixext" Version="$(MicrosoftWixToolsetSdkVersion)" />

</ItemGroup>

</Project>
61 changes: 61 additions & 0 deletions WindowsDesktop.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.5.2.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "eng", "eng", "{7525B257-249C-EE79-B10A-65D0BC27ABA9}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{827E0CD3-B72D-47B6-A68D-7590B98EB39B}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "common", "common", "{C3C130B5-2C3F-D4B2-E3F3-EC385075C7AB}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tools", "eng\common\internal\Tools.csproj", "{4F21FD48-C11F-D5EF-ADE2-1691A92E45C5}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Microsoft.Windows.Compatibility", "Microsoft.Windows.Compatibility", "{292A50E1-7820-1638-6BA6-14FBE6B99F15}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "runtime.native.System.IO.Ports", "src\Microsoft.Windows.Compatibility\package\runtime.native.System.IO.Ports.csproj", "{E47F785E-FA7A-58A1-D296-8C8F02432E6F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Windows.Compatibility", "src\Microsoft.Windows.Compatibility\src\Microsoft.Windows.Compatibility.csproj", "{B4E26156-D23F-346E-920D-DB46A8C16C8E}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "windowsdesktop", "windowsdesktop", "{B1DEBE5E-C067-B350-5F22-0DD39AD9FFE8}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.WindowsDesktop.App.Tests", "src\windowsdesktop\tests\Microsoft.WindowsDesktop.App.Tests.csproj", "{DDF86961-3AF2-FBA0-E08B-F367E1ABC517}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{4F21FD48-C11F-D5EF-ADE2-1691A92E45C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4F21FD48-C11F-D5EF-ADE2-1691A92E45C5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4F21FD48-C11F-D5EF-ADE2-1691A92E45C5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4F21FD48-C11F-D5EF-ADE2-1691A92E45C5}.Release|Any CPU.Build.0 = Release|Any CPU
{E47F785E-FA7A-58A1-D296-8C8F02432E6F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E47F785E-FA7A-58A1-D296-8C8F02432E6F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E47F785E-FA7A-58A1-D296-8C8F02432E6F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E47F785E-FA7A-58A1-D296-8C8F02432E6F}.Release|Any CPU.Build.0 = Release|Any CPU
{B4E26156-D23F-346E-920D-DB46A8C16C8E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B4E26156-D23F-346E-920D-DB46A8C16C8E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B4E26156-D23F-346E-920D-DB46A8C16C8E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B4E26156-D23F-346E-920D-DB46A8C16C8E}.Release|Any CPU.Build.0 = Release|Any CPU
{DDF86961-3AF2-FBA0-E08B-F367E1ABC517}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DDF86961-3AF2-FBA0-E08B-F367E1ABC517}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DDF86961-3AF2-FBA0-E08B-F367E1ABC517}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DDF86961-3AF2-FBA0-E08B-F367E1ABC517}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{C3C130B5-2C3F-D4B2-E3F3-EC385075C7AB} = {7525B257-249C-EE79-B10A-65D0BC27ABA9}
{4F21FD48-C11F-D5EF-ADE2-1691A92E45C5} = {C3C130B5-2C3F-D4B2-E3F3-EC385075C7AB}
{292A50E1-7820-1638-6BA6-14FBE6B99F15} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
{E47F785E-FA7A-58A1-D296-8C8F02432E6F} = {292A50E1-7820-1638-6BA6-14FBE6B99F15}
{B4E26156-D23F-346E-920D-DB46A8C16C8E} = {292A50E1-7820-1638-6BA6-14FBE6B99F15}
{B1DEBE5E-C067-B350-5F22-0DD39AD9FFE8} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
{DDF86961-3AF2-FBA0-E08B-F367E1ABC517} = {B1DEBE5E-C067-B350-5F22-0DD39AD9FFE8}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {B96CF507-B5D5-4809-9C1C-7948C55C80FB}
EndGlobalSection
EndGlobal
4 changes: 3 additions & 1 deletion global.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,10 @@
},
"msbuild-sdks": {
"Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.25608.101",
"Microsoft.DotNet.Helix.Sdk": "11.0.0-beta.25608.101",
"Microsoft.DotNet.SharedFramework.Sdk": "11.0.0-beta.25608.101",
"Microsoft.Build.NoTargets": "3.7.0",
"Microsoft.Build.Traversal": "3.4.0"
"Microsoft.Build.Traversal": "3.4.0",
"Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440"
}
}
13 changes: 11 additions & 2 deletions src/windowsdesktop/src/Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,20 @@
<!-- The Microsoft.WindowsDesktop.App shared framework composition depends on winforms, wpf and runtime transport packages
which contain architecture agnostic assets. As the OS part of the RID is always the portable "win", we don't need to
support non portable builds. If we ever want to target a specific base OS version,we should update this line. -->
<RuntimeIdentifier>win-$(TargetArchitecture)</RuntimeIdentifier>
<!-- Only set RuntimeIdentifier if not already set by project (avoids conflict with multi-arch RuntimeIdentifiers) -->
<!-- Skip AnyCPU since it's not a valid RuntimeIdentifier -->
<RuntimeIdentifier Condition="'$(RuntimeIdentifier)' == '' and '$(RuntimeIdentifiers)' == '' and '$(TargetArchitecture)' != 'AnyCPU'">win-$(TargetArchitecture)</RuntimeIdentifier>
</PropertyGroup>

<ItemGroup>
<!-- WiX tooling is only needed for installer builds, not for source-only builds -->
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' != 'true'">
<PackageReference Include="Microsoft.DotNet.Build.Tasks.Installers" />
<PackageReference Include="Microsoft.Wix" ExcludeAssets="all" GeneratePathProperty="true" />
<PackageReference Include="Microsoft.WixToolset.UI.wixext" GeneratePathProperty="true" />
<PackageReference Include="Microsoft.WixToolset.Dependency.wixext" GeneratePathProperty="true" />
<PackageReference Include="Microsoft.WixToolset.Util.wixext" GeneratePathProperty="true" />
<PackageReference Include="Microsoft.WixToolset.Bal.wixext" GeneratePathProperty="true" />
<PackageReference Include="Microsoft.WixToolset.Heat" GeneratePathProperty="true" />
</ItemGroup>

</Project>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

This file was deleted.

40 changes: 40 additions & 0 deletions src/windowsdesktop/src/bundle/Wix.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
<Project>
<PropertyGroup>
<Configuration Condition="'$(Configuration)' == ''">Release</Configuration>
<Platform Condition="'$(Platform)' == ''">x64</Platform>
<Lang Condition="'$(Lang)' == ''">ENU</Lang>
<Cultures>en-US</Cultures>
</PropertyGroup>

<!-- Additional parameters for Light/Candle-->
<PropertyGroup>
<SuppressIces>ICE61</SuppressIces>
<SuppressWarnings>1033</SuppressWarnings>
<!-- Currently, WiX only supports 'full' for the -pdbType option. This
affects both bundle and package projects. -->
<DebugType>full</DebugType>
<!-- Use backwards compatible GUID generation for WiX v5 -->
<WixBackwardsCompatibleGuidGeneration>true</WixBackwardsCompatibleGuidGeneration>
</PropertyGroup>

<PropertyGroup>
<DefineSolutionProperties>false</DefineSolutionProperties>
<!-- Namespace used to generate stable UUID3 GUIDs for bundle UpgradeCode, etc.
DO NOT CHANGE THESE. -->
<WindowsDesktopBundleNamespaceGuid>E1FD1271-E0F0-4B8B-B4BE-01F2EBA58F4E</WindowsDesktopBundleNamespaceGuid>
</PropertyGroup>

<PropertyGroup>
<DefineConstants>$(DefineConstants);files=$(MSBuildThisFileDirectory)files</DefineConstants>
<DefineConstants>$(DefineConstants);Culture=$(Cultures)</DefineConstants>
</PropertyGroup>

<!-- Properties for light/lit command package drop generation -->
<PropertyGroup>
<!-- Directory for the unzipped directory -->
<WixCommandObjDir>$(ArtifactsObjDir)WixCommandPackages</WixCommandObjDir>
<!-- Directory for the zipped up wixpack command package -->
<WixCommandPackagesDir>$(InstallersOutputPath)</WixCommandPackagesDir>
</PropertyGroup>

</Project>
Loading