diff options
author | Sean Hall <r.sean.hall@gmail.com> | 2019-01-12 16:49:42 -0600 |
---|---|---|
committer | Sean Hall <r.sean.hall@gmail.com> | 2019-01-12 16:58:52 -0600 |
commit | 2a14c230453744ea896948ca0b4f6692f2962bee (patch) | |
tree | 08227b815bb5ce8e5140f902305d921917fca95d | |
parent | 9d5d059a2147aa0fe38f7103148c020b66455e83 (diff) | |
download | wix-2a14c230453744ea896948ca0b4f6692f2962bee.tar.gz wix-2a14c230453744ea896948ca0b4f6692f2962bee.tar.bz2 wix-2a14c230453744ea896948ca0b4f6692f2962bee.zip |
Integrate into latest v4.
29 files changed, 653 insertions, 86 deletions
diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..1d72e683 --- /dev/null +++ b/.editorconfig | |||
@@ -0,0 +1,37 @@ | |||
1 | # Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
2 | # | ||
3 | # Do NOT modify this file. Update the canonical version in Home\repo-template\src\.editorconfig | ||
4 | # then update all of the repos. | ||
5 | |||
6 | root = true | ||
7 | |||
8 | [*] | ||
9 | charset = utf-8 | ||
10 | indent_style = space | ||
11 | indent_size = 4 | ||
12 | trim_trailing_whitespace = true | ||
13 | |||
14 | [*.{cs,vb}] | ||
15 | dotnet_sort_system_directives_first = true | ||
16 | |||
17 | [*.cs] | ||
18 | csharp_indent_case_contents = true : error | ||
19 | csharp_indent_switch_labels = true : error | ||
20 | csharp_new_line_before_open_brace = all | ||
21 | csharp_prefer_braces = true : error | ||
22 | csharp_style_expression_bodied_methods = when_on_single_line : suggestion | ||
23 | csharp_style_expression_bodied_constructors = when_on_single_line : suggestion | ||
24 | csharp_style_expression_bodied_operators = when_on_single_line : suggestion | ||
25 | csharp_style_expression_bodied_properties = when_on_single_line : suggestion | ||
26 | csharp_style_expression_bodied_indexers = when_on_single_line : suggestion | ||
27 | csharp_style_expression_bodied_accessors = when_on_single_line : suggestion | ||
28 | csharp_style_var_elsewhere = true : suggestion | ||
29 | csharp_style_var_for_built_in_types = true : suggestion | ||
30 | csharp_style_var_when_type_is_apparent = true : suggestion | ||
31 | dotnet_style_qualification_for_event = true : error | ||
32 | dotnet_style_qualification_for_field = true : error | ||
33 | dotnet_style_qualification_for_method = true : error | ||
34 | dotnet_style_qualification_for_property = true : error | ||
35 | |||
36 | [*.targets] | ||
37 | indent_size = 2 | ||
diff --git a/UI.wixext.sln b/UI.wixext.sln new file mode 100644 index 00000000..02e8c77b --- /dev/null +++ b/UI.wixext.sln | |||
@@ -0,0 +1,75 @@ | |||
1 | | ||
2 | Microsoft Visual Studio Solution File, Format Version 12.00 | ||
3 | # Visual Studio 15 | ||
4 | VisualStudioVersion = 15.0.27130.2003 | ||
5 | MinimumVisualStudioVersion = 15.0.26124.0 | ||
6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "uica", "src\ca\uica.vcxproj", "{F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}" | ||
7 | EndProject | ||
8 | Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "ui", "src\wixlib\ui.wixproj", "{2D4FF07B-26F8-4BEF-B41C-E4383F86DC32}" | ||
9 | EndProject | ||
10 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.UI.wixext", "src\wixext\WixToolset.UI.wixext.csproj", "{33F6ABF5-FA13-4B73-99FA-F9BBA894DD9A}" | ||
11 | EndProject | ||
12 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.UI", "src\test\WixToolsetTest.UI\WixToolsetTest.UI.csproj", "{A37CC793-F659-4C77-A01C-D183023B6880}" | ||
13 | EndProject | ||
14 | Global | ||
15 | GlobalSection(SolutionConfigurationPlatforms) = preSolution | ||
16 | Debug|Any CPU = Debug|Any CPU | ||
17 | Debug|x64 = Debug|x64 | ||
18 | Debug|x86 = Debug|x86 | ||
19 | Release|Any CPU = Release|Any CPU | ||
20 | Release|x64 = Release|x64 | ||
21 | Release|x86 = Release|x86 | ||
22 | EndGlobalSection | ||
23 | GlobalSection(ProjectConfigurationPlatforms) = postSolution | ||
24 | {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Debug|Any CPU.ActiveCfg = Debug|Win32 | ||
25 | {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Debug|Any CPU.Build.0 = Debug|Win32 | ||
26 | {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Debug|x64.ActiveCfg = Debug|Win32 | ||
27 | {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Debug|x86.ActiveCfg = Debug|Win32 | ||
28 | {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Debug|x86.Build.0 = Debug|Win32 | ||
29 | {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Release|Any CPU.ActiveCfg = Release|Win32 | ||
30 | {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Release|Any CPU.Build.0 = Release|Win32 | ||
31 | {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Release|x64.ActiveCfg = Release|Win32 | ||
32 | {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Release|x86.ActiveCfg = Release|Win32 | ||
33 | {F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}.Release|x86.Build.0 = Release|Win32 | ||
34 | {2D4FF07B-26F8-4BEF-B41C-E4383F86DC32}.Debug|Any CPU.ActiveCfg = Debug|x86 | ||
35 | {2D4FF07B-26F8-4BEF-B41C-E4383F86DC32}.Debug|Any CPU.Build.0 = Debug|x86 | ||
36 | {2D4FF07B-26F8-4BEF-B41C-E4383F86DC32}.Debug|x64.ActiveCfg = Debug|x86 | ||
37 | {2D4FF07B-26F8-4BEF-B41C-E4383F86DC32}.Debug|x86.ActiveCfg = Debug|x86 | ||
38 | {2D4FF07B-26F8-4BEF-B41C-E4383F86DC32}.Debug|x86.Build.0 = Debug|x86 | ||
39 | {2D4FF07B-26F8-4BEF-B41C-E4383F86DC32}.Release|Any CPU.ActiveCfg = Release|x86 | ||
40 | {2D4FF07B-26F8-4BEF-B41C-E4383F86DC32}.Release|Any CPU.Build.0 = Release|x86 | ||
41 | {2D4FF07B-26F8-4BEF-B41C-E4383F86DC32}.Release|x64.ActiveCfg = Release|x86 | ||
42 | {2D4FF07B-26F8-4BEF-B41C-E4383F86DC32}.Release|x86.ActiveCfg = Release|x86 | ||
43 | {2D4FF07B-26F8-4BEF-B41C-E4383F86DC32}.Release|x86.Build.0 = Release|x86 | ||
44 | {33F6ABF5-FA13-4B73-99FA-F9BBA894DD9A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
45 | {33F6ABF5-FA13-4B73-99FA-F9BBA894DD9A}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
46 | {33F6ABF5-FA13-4B73-99FA-F9BBA894DD9A}.Debug|x64.ActiveCfg = Debug|Any CPU | ||
47 | {33F6ABF5-FA13-4B73-99FA-F9BBA894DD9A}.Debug|x64.Build.0 = Debug|Any CPU | ||
48 | {33F6ABF5-FA13-4B73-99FA-F9BBA894DD9A}.Debug|x86.ActiveCfg = Debug|Any CPU | ||
49 | {33F6ABF5-FA13-4B73-99FA-F9BBA894DD9A}.Debug|x86.Build.0 = Debug|Any CPU | ||
50 | {33F6ABF5-FA13-4B73-99FA-F9BBA894DD9A}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
51 | {33F6ABF5-FA13-4B73-99FA-F9BBA894DD9A}.Release|Any CPU.Build.0 = Release|Any CPU | ||
52 | {33F6ABF5-FA13-4B73-99FA-F9BBA894DD9A}.Release|x64.ActiveCfg = Release|Any CPU | ||
53 | {33F6ABF5-FA13-4B73-99FA-F9BBA894DD9A}.Release|x64.Build.0 = Release|Any CPU | ||
54 | {33F6ABF5-FA13-4B73-99FA-F9BBA894DD9A}.Release|x86.ActiveCfg = Release|Any CPU | ||
55 | {33F6ABF5-FA13-4B73-99FA-F9BBA894DD9A}.Release|x86.Build.0 = Release|Any CPU | ||
56 | {A37CC793-F659-4C77-A01C-D183023B6880}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
57 | {A37CC793-F659-4C77-A01C-D183023B6880}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
58 | {A37CC793-F659-4C77-A01C-D183023B6880}.Debug|x64.ActiveCfg = Debug|Any CPU | ||
59 | {A37CC793-F659-4C77-A01C-D183023B6880}.Debug|x64.Build.0 = Debug|Any CPU | ||
60 | {A37CC793-F659-4C77-A01C-D183023B6880}.Debug|x86.ActiveCfg = Debug|Any CPU | ||
61 | {A37CC793-F659-4C77-A01C-D183023B6880}.Debug|x86.Build.0 = Debug|Any CPU | ||
62 | {A37CC793-F659-4C77-A01C-D183023B6880}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
63 | {A37CC793-F659-4C77-A01C-D183023B6880}.Release|Any CPU.Build.0 = Release|Any CPU | ||
64 | {A37CC793-F659-4C77-A01C-D183023B6880}.Release|x64.ActiveCfg = Release|Any CPU | ||
65 | {A37CC793-F659-4C77-A01C-D183023B6880}.Release|x64.Build.0 = Release|Any CPU | ||
66 | {A37CC793-F659-4C77-A01C-D183023B6880}.Release|x86.ActiveCfg = Release|Any CPU | ||
67 | {A37CC793-F659-4C77-A01C-D183023B6880}.Release|x86.Build.0 = Release|Any CPU | ||
68 | EndGlobalSection | ||
69 | GlobalSection(SolutionProperties) = preSolution | ||
70 | HideSolutionNode = FALSE | ||
71 | EndGlobalSection | ||
72 | GlobalSection(ExtensibilityGlobals) = postSolution | ||
73 | SolutionGuid = {1EB72678-984C-4F8F-9C3C-8D0FA2450E86} | ||
74 | EndGlobalSection | ||
75 | EndGlobal | ||
diff --git a/appveyor.cmd b/appveyor.cmd new file mode 100644 index 00000000..fd2a6e44 --- /dev/null +++ b/appveyor.cmd | |||
@@ -0,0 +1,13 @@ | |||
1 | @setlocal | ||
2 | @pushd %~dp0 | ||
3 | |||
4 | nuget restore | ||
5 | |||
6 | msbuild -p:Configuration=Release -t:Restore | ||
7 | |||
8 | msbuild -p:Configuration=Release src\test\WixToolsetTest.UI\WixToolsetTest.UI.csproj | ||
9 | |||
10 | msbuild -p:Configuration=Release -t:Pack src\wixext\WixToolset.UI.wixext.csproj | ||
11 | |||
12 | @popd | ||
13 | @endlocal \ No newline at end of file | ||
diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 00000000..c1df03cc --- /dev/null +++ b/appveyor.yml | |||
@@ -0,0 +1,40 @@ | |||
1 | # Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
2 | # | ||
3 | # Do NOT modify this file. Update the canonical version in Home\repo-template\src\appveyor.yml | ||
4 | # then update all of the repos. | ||
5 | |||
6 | branches: | ||
7 | only: | ||
8 | - master | ||
9 | - develop | ||
10 | |||
11 | image: Visual Studio 2017 | ||
12 | |||
13 | version: 0.0.0.{build} | ||
14 | configuration: Release | ||
15 | |||
16 | environment: | ||
17 | DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true | ||
18 | DOTNET_CLI_TELEMETRY_OPTOUT: 1 | ||
19 | NUGET_XMLDOC_MODE: skip | ||
20 | |||
21 | build_script: | ||
22 | - appveyor.cmd | ||
23 | |||
24 | pull_requests: | ||
25 | do_not_increment_build_number: true | ||
26 | |||
27 | nuget: | ||
28 | disable_publish_on_pr: true | ||
29 | |||
30 | skip_branch_with_pr: true | ||
31 | skip_tags: true | ||
32 | |||
33 | artifacts: | ||
34 | - path: build\Release\**\*.nupkg | ||
35 | name: nuget | ||
36 | |||
37 | notifications: | ||
38 | - provider: Slack | ||
39 | incoming_webhook: | ||
40 | secure: p5xuu+4x2JHfwGDMDe5KcG1k7gZxqYc4jWVwvyNZv5cvkubPD2waJs5yXMAXZNN7Z63/3PWHb7q4KoY/99AjauYa1nZ4c5qYqRPFRBKTHfA= | ||
diff --git a/nuget.config b/nuget.config new file mode 100644 index 00000000..aaee3228 --- /dev/null +++ b/nuget.config | |||
@@ -0,0 +1,16 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <configuration> | ||
3 | <packageSources> | ||
4 | <clear /> | ||
5 | <add key="wixtoolset-data" value="https://ci.appveyor.com/nuget/wixtoolset-data" /> | ||
6 | <add key="wixtoolset-extensibility" value="https://ci.appveyor.com/nuget/wixtoolset-extensibility" /> | ||
7 | <add key="wixtoolset-core" value="https://ci.appveyor.com/nuget/wixtoolset-core" /> | ||
8 | <add key="wixtoolset-core-native" value="https://ci.appveyor.com/nuget/wixtoolset-core-native" /> | ||
9 | <add key="wixtoolset-dtf" value="https://ci.appveyor.com/nuget/wixtoolset-dtf" /> | ||
10 | <add key="wixtoolset-dutil" value="https://ci.appveyor.com/nuget/wixtoolset-dutil" /> | ||
11 | <add key="wixtoolset-wcautil" value="https://ci.appveyor.com/nuget/wixtoolset-wcautil" /> | ||
12 | <add key="wixtoolset-tools" value="https://ci.appveyor.com/nuget/wixtoolset-tools" /> | ||
13 | <add key="wixbuildtools" value="https://ci.appveyor.com/nuget/wixbuildtools" /> | ||
14 | <add key="api.nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" /> | ||
15 | </packageSources> | ||
16 | </configuration> \ No newline at end of file | ||
diff --git a/src/Cpp.Build.props b/src/Cpp.Build.props new file mode 100644 index 00000000..296b36ca --- /dev/null +++ b/src/Cpp.Build.props | |||
@@ -0,0 +1,100 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> | ||
3 | |||
4 | <Project> | ||
5 | <PropertyGroup> | ||
6 | <Platform Condition=" '$(Platform)' == '' OR '$(Platform)' == 'AnyCPU' ">Win32</Platform> | ||
7 | <IntDir>$(BaseIntermediateOutputPath)$(Configuration)\$(Platform)\</IntDir> | ||
8 | <OutDir>$(OutputPath)$(Platform)\</OutDir> | ||
9 | </PropertyGroup> | ||
10 | |||
11 | <ItemDefinitionGroup> | ||
12 | <ClCompile> | ||
13 | <DisableSpecificWarnings>$(DisableSpecificCompilerWarnings)</DisableSpecificWarnings> | ||
14 | <WarningLevel>Level4</WarningLevel> | ||
15 | <AdditionalIncludeDirectories>$(ProjectDir)inc;$(MSBuildProjectDirectory);$(IntDir);$(SqlCESdkIncludePath);$(ProjectAdditionalIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||
16 | <PreprocessorDefinitions>WIN32;_WINDOWS;_WIN32_MSI=500;_WIN32_WINNT=0x0501;$(ArmPreprocessorDefinitions);$(UnicodePreprocessorDefinitions);_CRT_STDIO_LEGACY_WIDE_SPECIFIERS;_WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||
17 | <PrecompiledHeader>Use</PrecompiledHeader> | ||
18 | <PrecompiledHeaderFile>precomp.h</PrecompiledHeaderFile> | ||
19 | <CallingConvention>StdCall</CallingConvention> | ||
20 | <TreatWarningAsError>true</TreatWarningAsError> | ||
21 | <ExceptionHandling>false</ExceptionHandling> | ||
22 | <AdditionalOptions>-YlprecompDefine</AdditionalOptions> | ||
23 | <AdditionalOptions Condition=" $(PlatformToolset.StartsWith('v14')) ">/Zc:threadSafeInit- %(AdditionalOptions)</AdditionalOptions> | ||
24 | <MultiProcessorCompilation Condition=" $(NUMBER_OF_PROCESSORS) > 4 ">true</MultiProcessorCompilation> | ||
25 | </ClCompile> | ||
26 | <ResourceCompile> | ||
27 | <PreprocessorDefinitions>$(ArmPreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||
28 | <AdditionalIncludeDirectories>$(ProjectAdditionalResourceIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||
29 | </ResourceCompile> | ||
30 | <Lib> | ||
31 | <AdditionalLibraryDirectories>$(OutDir);$(AdditionalMultiTargetLibraryPath);$(ProjectAdditionalLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||
32 | </Lib> | ||
33 | <Link> | ||
34 | <SubSystem>$(ProjectSubSystem)</SubSystem> | ||
35 | <ModuleDefinitionFile>$(ProjectModuleDefinitionFile)</ModuleDefinitionFile> | ||
36 | <NoEntryPoint>$(ResourceOnlyDll)</NoEntryPoint> | ||
37 | <GenerateDebugInformation>true</GenerateDebugInformation> | ||
38 | <AdditionalDependencies>$(ProjectAdditionalLinkLibraries);advapi32.lib;comdlg32.lib;user32.lib;oleaut32.lib;gdi32.lib;shell32.lib;ole32.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||
39 | <AdditionalLibraryDirectories>$(OutDir);$(AdditionalMultiTargetLibraryPath);$(ArmLibraryDirectories);$(ProjectAdditionalLinkLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||
40 | <AdditionalOptions Condition=" $(PlatformToolset.StartsWith('v14')) ">/IGNORE:4099 %(AdditionalOptions)</AdditionalOptions> | ||
41 | </Link> | ||
42 | </ItemDefinitionGroup> | ||
43 | |||
44 | <ItemDefinitionGroup Condition=" '$(Platform)'=='Win32' and '$(PlatformToolset)'!='v100'"> | ||
45 | <ClCompile> | ||
46 | <EnableEnhancedInstructionSet>NoExtensions</EnableEnhancedInstructionSet> | ||
47 | </ClCompile> | ||
48 | </ItemDefinitionGroup> | ||
49 | <ItemDefinitionGroup Condition=" '$(Platform)'=='arm' "> | ||
50 | <ClCompile> | ||
51 | <CallingConvention>CDecl</CallingConvention> | ||
52 | </ClCompile> | ||
53 | </ItemDefinitionGroup> | ||
54 | <ItemDefinitionGroup Condition=" '$(ConfigurationType)'=='StaticLibrary' "> | ||
55 | <ClCompile> | ||
56 | <DebugInformationFormat>OldStyle</DebugInformationFormat> | ||
57 | <OmitDefaultLibName>true</OmitDefaultLibName> | ||
58 | <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries> | ||
59 | </ClCompile> | ||
60 | </ItemDefinitionGroup> | ||
61 | <ItemDefinitionGroup Condition=" '$(Configuration)'=='Debug' "> | ||
62 | <ClCompile> | ||
63 | <Optimization>Disabled</Optimization> | ||
64 | <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | ||
65 | <PreprocessorDefinitions>_DEBUG;DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||
66 | <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> | ||
67 | </ClCompile> | ||
68 | </ItemDefinitionGroup> | ||
69 | <ItemDefinitionGroup Condition=" '$(Configuration)'=='Debug' and '$(CLRSupport)'=='true' "> | ||
70 | <ClCompile> | ||
71 | <BasicRuntimeChecks></BasicRuntimeChecks> | ||
72 | <RuntimeLibrary>MultiThreadedDebugDll</RuntimeLibrary> | ||
73 | </ClCompile> | ||
74 | </ItemDefinitionGroup> | ||
75 | <ItemDefinitionGroup Condition=" '$(Configuration)'=='Release' "> | ||
76 | <ClCompile> | ||
77 | <Optimization>MinSpace</Optimization> | ||
78 | <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||
79 | <FunctionLevelLinking>true</FunctionLevelLinking> | ||
80 | <IntrinsicFunctions>true</IntrinsicFunctions> | ||
81 | <RuntimeLibrary>MultiThreaded</RuntimeLibrary> | ||
82 | </ClCompile> | ||
83 | <Link> | ||
84 | <EnableCOMDATFolding>true</EnableCOMDATFolding> | ||
85 | <OptimizeReferences>true</OptimizeReferences> | ||
86 | </Link> | ||
87 | </ItemDefinitionGroup> | ||
88 | <ItemDefinitionGroup Condition=" '$(Configuration)'=='Release' and '$(CLRSupport)'=='true' "> | ||
89 | <ClCompile> | ||
90 | <BasicRuntimeChecks></BasicRuntimeChecks> | ||
91 | <RuntimeLibrary>MultiThreadedDll</RuntimeLibrary> | ||
92 | </ClCompile> | ||
93 | </ItemDefinitionGroup> | ||
94 | <ItemDefinitionGroup Condition=" '$(CLRSupport)'=='true' "> | ||
95 | <Link> | ||
96 | <KeyFile>$(LinkKeyFile)</KeyFile> | ||
97 | <DelaySign>$(LinkDelaySign)</DelaySign> | ||
98 | </Link> | ||
99 | </ItemDefinitionGroup> | ||
100 | </Project> | ||
diff --git a/src/Directory.Build.props b/src/Directory.Build.props new file mode 100644 index 00000000..e853e22d --- /dev/null +++ b/src/Directory.Build.props | |||
@@ -0,0 +1,26 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> | ||
3 | <!-- | ||
4 | Do NOT modify this file. Update the canonical version in Home\repo-template\src\Directory.Build.props | ||
5 | then update all of the repos. | ||
6 | --> | ||
7 | <Project> | ||
8 | <PropertyGroup> | ||
9 | <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> | ||
10 | <EnableSourceLink Condition=" '$(NCrunch)' == '1' ">false</EnableSourceLink> | ||
11 | |||
12 | <ProjectName Condition=" '$(ProjectName)' == '' ">$(MSBuildProjectName)</ProjectName> | ||
13 | <BaseOutputPath>$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\build\))</BaseOutputPath> | ||
14 | <BaseIntermediateOutputPath>$(BaseOutputPath)obj\$(ProjectName)\</BaseIntermediateOutputPath> | ||
15 | <OutputPath>$(BaseOutputPath)$(Configuration)\</OutputPath> | ||
16 | |||
17 | <Authors>WiX Toolset Team</Authors> | ||
18 | <Company>WiX Toolset</Company> | ||
19 | <Copyright>Copyright (c) .NET Foundation and contributors. All rights reserved.</Copyright> | ||
20 | <PackageLicenseExpression>MS-RL</PackageLicenseExpression> | ||
21 | <Product>WiX Toolset</Product> | ||
22 | </PropertyGroup> | ||
23 | |||
24 | <Import Project="Cpp.Build.props" Condition=" '$(MSBuildProjectExtension)'=='.vcxproj' " /> | ||
25 | <Import Project="Custom.Build.props" Condition=" Exists('Custom.Build.props') " /> | ||
26 | </Project> | ||
diff --git a/src/Directory.Build.targets b/src/Directory.Build.targets new file mode 100644 index 00000000..dac7452a --- /dev/null +++ b/src/Directory.Build.targets | |||
@@ -0,0 +1,48 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> | ||
3 | <!-- | ||
4 | Do NOT modify this file. Update the canonical version in Home\repo-template\src\Directory.Build.targets | ||
5 | then update all of the repos. | ||
6 | --> | ||
7 | <!-- | ||
8 | Replace PackageReferences with ProjectReferences when the projects can be found in .sln. | ||
9 | See the original here: https://github.com/dotnet/sdk/issues/1151#issuecomment-385133284 | ||
10 | --> | ||
11 | <Project> | ||
12 | <PropertyGroup> | ||
13 | <ReplacePackageReferences>true</ReplacePackageReferences> | ||
14 | <TheSolutionPath Condition=" '$(NCrunch)'=='' ">$(SolutionPath)</TheSolutionPath> | ||
15 | <TheSolutionPath Condition=" '$(NCrunch)'=='1' ">$(NCrunchOriginalSolutionPath)</TheSolutionPath> | ||
16 | </PropertyGroup> | ||
17 | |||
18 | <Choose> | ||
19 | <When Condition="$(ReplacePackageReferences) AND '$(TheSolutionPath)' != '' AND '$(TheSolutionPath)' != '*undefined*' AND Exists('$(TheSolutionPath)')"> | ||
20 | |||
21 | <PropertyGroup> | ||
22 | <SolutionFileContent>$([System.IO.File]::ReadAllText($(TheSolutionPath)))</SolutionFileContent> | ||
23 | <SmartSolutionDir>$([System.IO.Path]::GetDirectoryName( $(TheSolutionPath) ))</SmartSolutionDir> | ||
24 | <RegexPattern>(?<="[PackageName]", ")(.*)(?=", ")</RegexPattern> | ||
25 | </PropertyGroup> | ||
26 | |||
27 | <ItemGroup> | ||
28 | <!-- Keep the identity of the PackageReference --> | ||
29 | <SmartPackageReference Include="@(PackageReference)"> | ||
30 | <PackageName>%(Identity)</PackageName> | ||
31 | <InSolution>$(SolutionFileContent.Contains('\%(Identity).csproj'))</InSolution> | ||
32 | </SmartPackageReference> | ||
33 | |||
34 | <!-- Filter them by mapping them to another ItemGroup using the WithMetadataValue item function --> | ||
35 | <PackageInSolution Include="@(SmartPackageReference->WithMetadataValue('InSolution', True))"> | ||
36 | <Pattern>$(RegexPattern.Replace('[PackageName]','%(PackageName)') )</Pattern> | ||
37 | <SmartPath>$([System.Text.RegularExpressions.Regex]::Match('$(SolutionFileContent)', '%(Pattern)'))</SmartPath> | ||
38 | </PackageInSolution> | ||
39 | |||
40 | <ProjectReference Include="@(PackageInSolution->'$(SmartSolutionDir)\%(SmartPath)' )"/> | ||
41 | |||
42 | <!-- Remove the package references that are now referenced as projects --> | ||
43 | <PackageReference Remove="@(PackageInSolution->'%(PackageName)' )"/> | ||
44 | </ItemGroup> | ||
45 | |||
46 | </When> | ||
47 | </Choose> | ||
48 | </Project> | ||
diff --git a/src/FindLocalWix.props b/src/FindLocalWix.props new file mode 100644 index 00000000..a784e352 --- /dev/null +++ b/src/FindLocalWix.props | |||
@@ -0,0 +1,8 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> | ||
3 | |||
4 | <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||
5 | <PropertyGroup> | ||
6 | <WixTargetsPath Condition=" '$(Configuration)' == 'Debug' And Exists('$(MSBuildThisFileDirectory)..\..\Tools\README.md') ">$(MSBuildThisFileDirectory)..\..\Tools\build\Debug\net461\wix.targets</WixTargetsPath> | ||
7 | </PropertyGroup> | ||
8 | </Project> | ||
diff --git a/src/ca/CustomMsiErrors.h b/src/ca/CustomMsiErrors.h new file mode 100644 index 00000000..b568d01c --- /dev/null +++ b/src/ca/CustomMsiErrors.h | |||
@@ -0,0 +1,10 @@ | |||
1 | #pragma once | ||
2 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
3 | |||
4 | #define msierrSQLFailedCreateDatabase 26201 | ||
5 | #define msierrSQLFailedDropDatabase 26202 | ||
6 | #define msierrSQLFailedConnectDatabase 26203 | ||
7 | #define msierrSQLFailedExecString 26204 | ||
8 | #define msierrSQLDatabaseAlreadyExists 26205 | ||
9 | |||
10 | //Last available is 26250 \ No newline at end of file | ||
diff --git a/src/ca/packages.config b/src/ca/packages.config new file mode 100644 index 00000000..265886d9 --- /dev/null +++ b/src/ca/packages.config | |||
@@ -0,0 +1,5 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <packages> | ||
3 | <package id="WixToolset.DUtil" version="4.0.13" targetFramework="native" /> | ||
4 | <package id="WixToolset.WcaUtil" version="4.0.2" targetFramework="native" /> | ||
5 | </packages> \ No newline at end of file | ||
diff --git a/src/ca/precomp.h b/src/ca/precomp.h index dcdf2653..e95240c6 100644 --- a/src/ca/precomp.h +++ b/src/ca/precomp.h | |||
@@ -7,7 +7,6 @@ | |||
7 | #include <richedit.h> | 7 | #include <richedit.h> |
8 | #include <shlwapi.h> | 8 | #include <shlwapi.h> |
9 | 9 | ||
10 | #include "wixstrsafe.h" | ||
11 | #include "wcautil.h" | 10 | #include "wcautil.h" |
12 | #include "aclutil.h" | 11 | #include "aclutil.h" |
13 | #include "fileutil.h" | 12 | #include "fileutil.h" |
diff --git a/src/ca/uica.vcxproj b/src/ca/uica.vcxproj index 92e20e1a..f6e0ef2a 100644 --- a/src/ca/uica.vcxproj +++ b/src/ca/uica.vcxproj | |||
@@ -1,8 +1,10 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | 1 | <?xml version="1.0" encoding="utf-8"?> |
2 | <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> | 2 | <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> |
3 | 3 | ||
4 | <Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||
5 | <Import Project="..\..\packages\WixToolset.DUtil.4.0.13\build\WixToolset.DUtil.props" Condition="Exists('..\..\packages\WixToolset.DUtil.4.0.13\build\WixToolset.DUtil.props')" /> | ||
6 | <Import Project="..\..\packages\WixToolset.WcaUtil.4.0.2\build\WixToolset.WcaUtil.props" Condition="Exists('..\..\packages\WixToolset.WcaUtil.4.0.2\build\WixToolset.WcaUtil.props')" /> | ||
4 | 7 | ||
5 | <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||
6 | <ItemGroup Label="ProjectConfigurations"> | 8 | <ItemGroup Label="ProjectConfigurations"> |
7 | <ProjectConfiguration Include="Debug|Win32"> | 9 | <ProjectConfiguration Include="Debug|Win32"> |
8 | <Configuration>Debug</Configuration> | 10 | <Configuration>Debug</Configuration> |
@@ -13,34 +15,28 @@ | |||
13 | <Platform>Win32</Platform> | 15 | <Platform>Win32</Platform> |
14 | </ProjectConfiguration> | 16 | </ProjectConfiguration> |
15 | </ItemGroup> | 17 | </ItemGroup> |
16 | <ItemGroup Label="ProjectConfigurations"> | ||
17 | <ProjectConfiguration Include="Debug|ARM"> | ||
18 | <Configuration>Debug</Configuration> | ||
19 | <Platform>ARM</Platform> | ||
20 | </ProjectConfiguration> | ||
21 | <ProjectConfiguration Include="Release|ARM"> | ||
22 | <Configuration>Release</Configuration> | ||
23 | <Platform>ARM</Platform> | ||
24 | </ProjectConfiguration> | ||
25 | </ItemGroup> | ||
26 | 18 | ||
27 | <PropertyGroup Label="Globals"> | 19 | <PropertyGroup Label="Globals"> |
28 | <ProjectGuid>{F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}</ProjectGuid> | 20 | <ProjectGuid>{F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}</ProjectGuid> |
29 | <ConfigurationType>DynamicLibrary</ConfigurationType> | 21 | <ConfigurationType>DynamicLibrary</ConfigurationType> |
30 | <CharacterSet>MultiByte</CharacterSet> | 22 | <CharacterSet>MultiByte</CharacterSet> |
31 | <TargetName>uica</TargetName> | 23 | <TargetName>uica</TargetName> |
24 | <PlatformToolset>v141</PlatformToolset> | ||
32 | <ProjectModuleDefinitionFile>uica.def</ProjectModuleDefinitionFile> | 25 | <ProjectModuleDefinitionFile>uica.def</ProjectModuleDefinitionFile> |
26 | <Description>WiX Toolset UI CustomAction</Description> | ||
33 | </PropertyGroup> | 27 | </PropertyGroup> |
34 | 28 | ||
35 | <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), wix.proj))\tools\WixBuild.props" /> | 29 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> |
30 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> | ||
36 | 31 | ||
37 | <PropertyGroup> | 32 | <PropertyGroup> |
38 | <ProjectAdditionalIncludeDirectories>$(WixRoot)src\libs\dutil\inc;$(WixRoot)src\libs\wcautil</ProjectAdditionalIncludeDirectories> | 33 | <ProjectAdditionalLinkLibraries>msi.lib;shlwapi.lib</ProjectAdditionalLinkLibraries> |
39 | <ProjectAdditionalLinkLibraries>msi.lib;shlwapi.lib;dutil.lib;wcautil.lib</ProjectAdditionalLinkLibraries> | ||
40 | </PropertyGroup> | 34 | </PropertyGroup> |
41 | 35 | ||
42 | <ItemGroup> | 36 | <ItemGroup> |
43 | <ClCompile Include="dllmain.cpp" /> | 37 | <ClCompile Include="dllmain.cpp"> |
38 | <PrecompiledHeader>Create</PrecompiledHeader> | ||
39 | </ClCompile> | ||
44 | <ClCompile Include="DriveCheck.cpp" /> | 40 | <ClCompile Include="DriveCheck.cpp" /> |
45 | <ClCompile Include="PrintEula.cpp" /> | 41 | <ClCompile Include="PrintEula.cpp" /> |
46 | </ItemGroup> | 42 | </ItemGroup> |
@@ -49,11 +45,17 @@ | |||
49 | <ClInclude Include="precomp.h" /> | 45 | <ClInclude Include="precomp.h" /> |
50 | </ItemGroup> | 46 | </ItemGroup> |
51 | <ItemGroup> | 47 | <ItemGroup> |
48 | <None Include="packages.config" /> | ||
52 | <None Include="uica.def" /> | 49 | <None Include="uica.def" /> |
53 | </ItemGroup> | 50 | </ItemGroup> |
54 | <ItemGroup> | ||
55 | <ResourceCompile Include="uica.rc" /> | ||
56 | </ItemGroup> | ||
57 | 51 | ||
58 | <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), wix.proj))\tools\WixBuild.targets" /> | 52 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> |
53 | |||
54 | <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> | ||
55 | <PropertyGroup> | ||
56 | <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> | ||
57 | </PropertyGroup> | ||
58 | <Error Condition="!Exists('..\..\packages\WixToolset.DUtil.4.0.13\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.DUtil.4.0.13\build\WixToolset.DUtil.props'))" /> | ||
59 | <Error Condition="!Exists('..\..\packages\WixToolset.WcaUtil.4.0.2\build\WixToolset.WcaUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.WcaUtil.4.0.2\build\WixToolset.WcaUtil.props'))" /> | ||
60 | </Target> | ||
59 | </Project> | 61 | </Project> |
diff --git a/src/test/WixToolsetTest.UI/TestData/WixUI_Minimal/Package.en-us.wxl b/src/test/WixToolsetTest.UI/TestData/WixUI_Minimal/Package.en-us.wxl new file mode 100644 index 00000000..38c12ac1 --- /dev/null +++ b/src/test/WixToolsetTest.UI/TestData/WixUI_Minimal/Package.en-us.wxl | |||
@@ -0,0 +1,11 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | |||
3 | <!-- | ||
4 | This file contains the declaration of all the localizable strings. | ||
5 | --> | ||
6 | <WixLocalization xmlns="http://wixtoolset.org/schemas/v4/wxl" Culture="en-US"> | ||
7 | |||
8 | <String Id="DowngradeError">A newer version of [ProductName] is already installed.</String> | ||
9 | <String Id="FeatureTitle">MsiPackage</String> | ||
10 | |||
11 | </WixLocalization> | ||
diff --git a/src/test/WixToolsetTest.UI/TestData/WixUI_Minimal/Package.wxs b/src/test/WixToolsetTest.UI/TestData/WixUI_Minimal/Package.wxs new file mode 100644 index 00000000..68ff98fd --- /dev/null +++ b/src/test/WixToolsetTest.UI/TestData/WixUI_Minimal/Package.wxs | |||
@@ -0,0 +1,22 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> | ||
3 | <Product Id="*" Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a"> | ||
4 | <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" /> | ||
5 | |||
6 | <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" /> | ||
7 | <MediaTemplate /> | ||
8 | |||
9 | <Feature Id="ProductFeature" Title="!(loc.FeatureTitle)"> | ||
10 | <ComponentGroupRef Id="ProductComponents" /> | ||
11 | </Feature> | ||
12 | |||
13 | </Product> | ||
14 | |||
15 | <Fragment> | ||
16 | <Directory Id="TARGETDIR" Name="SourceDir"> | ||
17 | <Directory Id="ProgramFilesFolder"> | ||
18 | <Directory Id="INSTALLFOLDER" Name="MsiPackage" /> | ||
19 | </Directory> | ||
20 | </Directory> | ||
21 | </Fragment> | ||
22 | </Wix> | ||
diff --git a/src/test/WixToolsetTest.UI/TestData/WixUI_Minimal/PackageComponents.wxs b/src/test/WixToolsetTest.UI/TestData/WixUI_Minimal/PackageComponents.wxs new file mode 100644 index 00000000..c50785a1 --- /dev/null +++ b/src/test/WixToolsetTest.UI/TestData/WixUI_Minimal/PackageComponents.wxs | |||
@@ -0,0 +1,12 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> | ||
3 | <Fragment> | ||
4 | <UIRef Id="WixUI_Minimal" /> | ||
5 | |||
6 | <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER"> | ||
7 | <Component> | ||
8 | <File Source="example.txt" /> | ||
9 | </Component> | ||
10 | </ComponentGroup> | ||
11 | </Fragment> | ||
12 | </Wix> | ||
diff --git a/src/test/WixToolsetTest.UI/TestData/WixUI_Minimal/example.txt b/src/test/WixToolsetTest.UI/TestData/WixUI_Minimal/example.txt new file mode 100644 index 00000000..1b4ffe8a --- /dev/null +++ b/src/test/WixToolsetTest.UI/TestData/WixUI_Minimal/example.txt | |||
@@ -0,0 +1 @@ | |||
This is example.txt. \ No newline at end of file | |||
diff --git a/src/test/WixToolsetTest.UI/UIExtensionFixture.cs b/src/test/WixToolsetTest.UI/UIExtensionFixture.cs new file mode 100644 index 00000000..43694c49 --- /dev/null +++ b/src/test/WixToolsetTest.UI/UIExtensionFixture.cs | |||
@@ -0,0 +1,32 @@ | |||
1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
2 | |||
3 | namespace WixToolsetTest.UI | ||
4 | { | ||
5 | using System.Linq; | ||
6 | using WixBuildTools.TestSupport; | ||
7 | using WixToolset.Core.TestPackage; | ||
8 | using WixToolset.UI; | ||
9 | using Xunit; | ||
10 | |||
11 | public class UIExtensionFixture | ||
12 | { | ||
13 | [Fact(Skip = "Currently fails")] | ||
14 | public void CanBuildUsingWixUIMinimal() | ||
15 | { | ||
16 | var folder = TestData.Get(@"TestData\WixUI_Minimal"); | ||
17 | var build = new Builder(folder, typeof(UIExtensionFactory), new[] { folder }); | ||
18 | |||
19 | var results = build.BuildAndQuery(Build, "Property"); | ||
20 | Assert.Equal(new[] | ||
21 | { | ||
22 | "Property:", | ||
23 | }, results.OrderBy(s => s).ToArray()); | ||
24 | } | ||
25 | |||
26 | private static void Build(string[] args) | ||
27 | { | ||
28 | var result = WixRunner.Execute(args) | ||
29 | .AssertSuccess(); | ||
30 | } | ||
31 | } | ||
32 | } | ||
diff --git a/src/test/WixToolsetTest.UI/WixToolsetTest.UI.csproj b/src/test/WixToolsetTest.UI/WixToolsetTest.UI.csproj new file mode 100644 index 00000000..4a3ba5e7 --- /dev/null +++ b/src/test/WixToolsetTest.UI/WixToolsetTest.UI.csproj | |||
@@ -0,0 +1,38 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> | ||
3 | |||
4 | <Project Sdk="Microsoft.NET.Sdk"> | ||
5 | <PropertyGroup> | ||
6 | <TargetFramework>netcoreapp2.1</TargetFramework> | ||
7 | <IsPackable>false</IsPackable> | ||
8 | </PropertyGroup> | ||
9 | |||
10 | <PropertyGroup> | ||
11 | <NoWarn>NU1701</NoWarn> | ||
12 | </PropertyGroup> | ||
13 | |||
14 | <ItemGroup> | ||
15 | <Content Include="TestData\WixUI_Minimal\example.txt" CopyToOutputDirectory="PreserveNewest" /> | ||
16 | <Content Include="TestData\WixUI_Minimal\Package.en-us.wxl" CopyToOutputDirectory="PreserveNewest" /> | ||
17 | <Content Include="TestData\WixUI_Minimal\Package.wxs" CopyToOutputDirectory="PreserveNewest" /> | ||
18 | <Content Include="TestData\WixUI_Minimal\PackageComponents.wxs" CopyToOutputDirectory="PreserveNewest" /> | ||
19 | </ItemGroup> | ||
20 | |||
21 | <ItemGroup> | ||
22 | <ProjectReference Include="..\..\wixext\WixToolset.UI.wixext.csproj" /> | ||
23 | </ItemGroup> | ||
24 | |||
25 | <ItemGroup> | ||
26 | <PackageReference Include="WixToolset.Core.TestPackage" Version="4.0.*" PrivateAssets="all" /> | ||
27 | </ItemGroup> | ||
28 | |||
29 | <ItemGroup> | ||
30 | <PackageReference Include="WixBuildTools.TestSupport" Version="4.0.*" /> | ||
31 | </ItemGroup> | ||
32 | |||
33 | <ItemGroup> | ||
34 | <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" /> | ||
35 | <PackageReference Include="xunit" Version="2.4.0" /> | ||
36 | <PackageReference Include="xunit.runner.visualstudio" Version="2.4.0" /> | ||
37 | </ItemGroup> | ||
38 | </Project> | ||
diff --git a/src/wixext/UIDecompiler.cs b/src/wixext/UIDecompiler.cs index 4bdd48fc..2493e7c7 100644 --- a/src/wixext/UIDecompiler.cs +++ b/src/wixext/UIDecompiler.cs | |||
@@ -2,6 +2,7 @@ | |||
2 | 2 | ||
3 | namespace WixToolset.Extensions | 3 | namespace WixToolset.Extensions |
4 | { | 4 | { |
5 | #if TODO_CONSIDER_DECOMPILER | ||
5 | using System; | 6 | using System; |
6 | using System.Collections; | 7 | using System.Collections; |
7 | using System.Diagnostics; | 8 | using System.Diagnostics; |
@@ -54,4 +55,5 @@ namespace WixToolset.Extensions | |||
54 | } | 55 | } |
55 | } | 56 | } |
56 | } | 57 | } |
58 | #endif | ||
57 | } | 59 | } |
diff --git a/src/wixext/UIExtensionData.cs b/src/wixext/UIExtensionData.cs index a833b82b..327d20c8 100644 --- a/src/wixext/UIExtensionData.cs +++ b/src/wixext/UIExtensionData.cs | |||
@@ -1,43 +1,23 @@ | |||
1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | 1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. |
2 | 2 | ||
3 | namespace WixToolset.Extensions | 3 | namespace WixToolset.UI |
4 | { | 4 | { |
5 | using System; | ||
6 | using System.Reflection; | ||
7 | using WixToolset.Data; | 5 | using WixToolset.Data; |
8 | using WixToolset.Extensibility; | 6 | using WixToolset.Extensibility; |
9 | 7 | ||
10 | /// <summary> | 8 | public sealed class UIExtensionData : BaseExtensionData |
11 | /// The WiX Toolset UI Extension. | ||
12 | /// </summary> | ||
13 | public sealed class UIExtensionData : ExtensionData | ||
14 | { | 9 | { |
15 | /// <summary> | 10 | public override string DefaultCulture => "en-US"; |
16 | /// Gets the default culture. | ||
17 | /// </summary> | ||
18 | /// <value>The default culture.</value> | ||
19 | public override string DefaultCulture | ||
20 | { | ||
21 | get { return "en-us"; } | ||
22 | } | ||
23 | 11 | ||
24 | /// <summary> | 12 | public override bool TryGetTupleDefinitionByName(string name, out IntermediateTupleDefinition tupleDefinition) |
25 | /// Gets the library associated with this extension. | ||
26 | /// </summary> | ||
27 | /// <param name="tableDefinitions">The table definitions to use while loading the library.</param> | ||
28 | /// <returns>The loaded library.</returns> | ||
29 | public override Library GetLibrary(TableDefinitionCollection tableDefinitions) | ||
30 | { | 13 | { |
31 | return UIExtensionData.GetExtensionLibrary(tableDefinitions); | 14 | tupleDefinition = null; |
15 | return tupleDefinition != null; | ||
32 | } | 16 | } |
33 | 17 | ||
34 | /// <summary> | 18 | public override Intermediate GetLibrary(ITupleDefinitionCreator tupleDefinitions) |
35 | /// Internal mechanism to access the extension's library. | ||
36 | /// </summary> | ||
37 | /// <returns>Extension's library.</returns> | ||
38 | internal static Library GetExtensionLibrary(TableDefinitionCollection tableDefinitions) | ||
39 | { | 19 | { |
40 | return ExtensionData.LoadLibraryHelper(Assembly.GetExecutingAssembly(), "WixToolset.Extensions.Data.ui.wixlib", tableDefinitions); | 20 | return Intermediate.Load(typeof(UIExtensionData).Assembly, "WixToolset.UI.ui.wixlib", tupleDefinitions); |
41 | } | 21 | } |
42 | } | 22 | } |
43 | } | 23 | } |
diff --git a/src/wixext/UIExtensionFactory.cs b/src/wixext/UIExtensionFactory.cs new file mode 100644 index 00000000..1c9caacc --- /dev/null +++ b/src/wixext/UIExtensionFactory.cs | |||
@@ -0,0 +1,16 @@ | |||
1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
2 | |||
3 | namespace WixToolset.UI | ||
4 | { | ||
5 | using System; | ||
6 | using System.Collections.Generic; | ||
7 | using WixToolset.Extensibility; | ||
8 | |||
9 | public class UIExtensionFactory : BaseExtensionFactory | ||
10 | { | ||
11 | protected override IEnumerable<Type> ExtensionTypes => new[] | ||
12 | { | ||
13 | typeof(UIExtensionData), | ||
14 | }; | ||
15 | } | ||
16 | } | ||
diff --git a/src/wixext/WixToolset.UI.wixext.csproj b/src/wixext/WixToolset.UI.wixext.csproj new file mode 100644 index 00000000..f8b47f63 --- /dev/null +++ b/src/wixext/WixToolset.UI.wixext.csproj | |||
@@ -0,0 +1,29 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> | ||
3 | |||
4 | <Project Sdk="Microsoft.NET.Sdk"> | ||
5 | <PropertyGroup> | ||
6 | <TargetFramework>netstandard2.0</TargetFramework> | ||
7 | <RootNamespace>WixToolset.UI</RootNamespace> | ||
8 | <Description>WiX Toolset UI Extension</Description> | ||
9 | <Title>WiX Toolset UI Extension</Title> | ||
10 | <IsTool>true</IsTool> | ||
11 | <ContentTargetFolders>build</ContentTargetFolders> | ||
12 | </PropertyGroup> | ||
13 | <ItemGroup> | ||
14 | <Content Include="$(MSBuildThisFileName).targets" /> | ||
15 | <EmbeddedResource Include="$(OutputPath)..\ui.wixlib" /> | ||
16 | </ItemGroup> | ||
17 | <ItemGroup> | ||
18 | <PackageReference Include="WixToolset.Data" Version="4.0.*" PrivateAssets="all" /> | ||
19 | <PackageReference Include="WixToolset.Extensibility" Version="4.0.*" PrivateAssets="all" /> | ||
20 | </ItemGroup> | ||
21 | |||
22 | <ItemGroup> | ||
23 | <ProjectReference Include="..\wixlib\ui.wixproj" ReferenceOutputAssembly="false" Condition=" '$(NCrunch)'=='' " /> | ||
24 | </ItemGroup> | ||
25 | |||
26 | <ItemGroup> | ||
27 | <PackageReference Include="Nerdbank.GitVersioning" Version="2.1.65" PrivateAssets="All" /> | ||
28 | </ItemGroup> | ||
29 | </Project> | ||
diff --git a/src/wixext/WixToolset.UI.wixext.targets b/src/wixext/WixToolset.UI.wixext.targets new file mode 100644 index 00000000..b07a0886 --- /dev/null +++ b/src/wixext/WixToolset.UI.wixext.targets | |||
@@ -0,0 +1,11 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> | ||
3 | |||
4 | <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> | ||
5 | <PropertyGroup> | ||
6 | <WixToolsetUIWixextPath Condition=" '$(WixToolsetUIWixextPath)' == '' ">$(MSBuildThisFileDirectory)..\tools\WixToolset.UI.wixext.dll</WixToolsetUIWixextPath> | ||
7 | </PropertyGroup> | ||
8 | <ItemGroup> | ||
9 | <WixExtension Include="$(WixToolsetUIWixextPath)" /> | ||
10 | </ItemGroup> | ||
11 | </Project> | ||
diff --git a/src/wixext/WixUIExtension.csproj b/src/wixext/WixUIExtension.csproj deleted file mode 100644 index ba1b5c58..00000000 --- a/src/wixext/WixUIExtension.csproj +++ /dev/null | |||
@@ -1,31 +0,0 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> | ||
3 | |||
4 | |||
5 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> | ||
6 | <PropertyGroup> | ||
7 | <ProjectGuid>{33F6ABF5-FA13-4B73-99FA-F9BBA894DD9A}</ProjectGuid> | ||
8 | <AssemblyName>WixUIExtension</AssemblyName> | ||
9 | <OutputType>Library</OutputType> | ||
10 | <RootNamespace>WixToolset.Extensions</RootNamespace> | ||
11 | </PropertyGroup> | ||
12 | <ItemGroup> | ||
13 | <Compile Include="AssemblyInfo.cs" /> | ||
14 | <Compile Include="UIDecompiler.cs" /> | ||
15 | <Compile Include="UIExtensionData.cs" /> | ||
16 | <EmbeddedResource Include="$(OutputPath)ui.wixlib"> | ||
17 | <Link>Data\ui.wixlib</Link> | ||
18 | </EmbeddedResource> | ||
19 | </ItemGroup> | ||
20 | <ItemGroup> | ||
21 | <Reference Include="System" /> | ||
22 | <Reference Include="System.Xml" /> | ||
23 | <ProjectReference Include="..\..\..\libs\WixToolset.Data\WixToolset.Data.csproj" /> | ||
24 | <ProjectReference Include="..\..\..\libs\WixToolset.Extensibility\WixToolset.Extensibility.csproj" /> | ||
25 | <ProjectReference Include="..\..\..\tools\wix\Wix.csproj" /> | ||
26 | <ProjectReference Include="..\wixlib\UIExtension.wixproj"> | ||
27 | <ReferenceOutputAssembly>false</ReferenceOutputAssembly> | ||
28 | </ProjectReference> | ||
29 | </ItemGroup> | ||
30 | <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), wix.proj))\tools\WixBuild.targets" /> | ||
31 | </Project> | ||
diff --git a/src/wixlib/caSuffix.wxi b/src/wixlib/caSuffix.wxi new file mode 100644 index 00000000..a56a2393 --- /dev/null +++ b/src/wixlib/caSuffix.wxi | |||
@@ -0,0 +1,28 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> | ||
3 | |||
4 | <Include xmlns="http://wixtoolset.org/schemas/v4/wxs"> | ||
5 | <?ifndef platform ?> | ||
6 | <?error Required value "platform" not defined in include caSuffix.wxi ?> | ||
7 | <?endif ?> | ||
8 | |||
9 | <?ifdef Suffix ?> | ||
10 | <?undef Suffix ?> | ||
11 | <?undef DeferredSuffix ?> | ||
12 | <?endif ?> | ||
13 | |||
14 | <?if $(var.platform)="x86" ?> | ||
15 | <?define Suffix="" ?> | ||
16 | <?define DeferredSuffix="" ?> | ||
17 | <?endif ?> | ||
18 | |||
19 | <?if $(var.platform)="x64" ?> | ||
20 | <?define Suffix="_x64" ?> | ||
21 | <?define DeferredSuffix="_64" ?> | ||
22 | <?endif ?> | ||
23 | |||
24 | <?if $(var.platform)="arm" ?> | ||
25 | <?define Suffix="_ARM" ?> | ||
26 | <?define DeferredSuffix="_ARM" ?> | ||
27 | <?endif ?> | ||
28 | </Include> | ||
diff --git a/src/wixlib/packages.config b/src/wixlib/packages.config new file mode 100644 index 00000000..7964daed --- /dev/null +++ b/src/wixlib/packages.config | |||
@@ -0,0 +1,5 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <packages> | ||
3 | <package id="Nerdbank.GitVersioning" version="2.1.65" developmentDependency="true" targetFramework="net40" /> | ||
4 | <package id="WixToolset.MSBuild" version="4.0.0-build-0035" developmentDependency="true" targetFramework="net40" /> | ||
5 | </packages> \ No newline at end of file | ||
diff --git a/src/wixlib/UIExtension.wixproj b/src/wixlib/ui.wixproj index 213205a2..37ad94d0 100644 --- a/src/wixlib/UIExtension.wixproj +++ b/src/wixlib/ui.wixproj | |||
@@ -1,16 +1,14 @@ | |||
1 | <?xml version="1.0" encoding="utf-8" ?> | 1 | <?xml version="1.0" encoding="utf-8" ?> |
2 | <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> | 2 | <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> |
3 | 3 | <Project DefaultTargets="Build" InitialTargets="EnsureWixToolsetInstalled" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="15.0"> | |
4 | 4 | <Import Project="..\..\packages\WixToolset.MSBuild.4.0.0-build-0035\build\WixToolset.MSBuild.props" Condition="Exists('..\..\packages\WixToolset.MSBuild.4.0.0-build-0035\build\WixToolset.MSBuild.props')" /> | |
5 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> | 5 | <Import Project="..\FindLocalWix.props" /> |
6 | <PropertyGroup> | 6 | <PropertyGroup> |
7 | <ProjectGuid>{2D4FF07B-26F8-4BEF-B41C-E4383F86DC32}</ProjectGuid> | 7 | <ProjectGuid>{2D4FF07B-26F8-4BEF-B41C-E4383F86DC32}</ProjectGuid> |
8 | <OutputName>ui</OutputName> | 8 | <OutputName>ui</OutputName> |
9 | <OutputType>Library</OutputType> | 9 | <OutputType>Library</OutputType> |
10 | <BindFiles>true</BindFiles> | 10 | <BindFiles>true</BindFiles> |
11 | <Pedantic>true</Pedantic> | 11 | <Pedantic>true</Pedantic> |
12 | <!-- Suppress ICE45 until we get a new darice.cub drop that properly supports the ElevationShield control attribute bit --> | ||
13 | <SuppressIces>ICE45</SuppressIces> | ||
14 | <Cultures>en-us</Cultures> | 12 | <Cultures>en-us</Cultures> |
15 | </PropertyGroup> | 13 | </PropertyGroup> |
16 | 14 | ||
@@ -63,7 +61,12 @@ | |||
63 | <Compile Include="AdvancedWelcomeEulaDlg.wxs" /> | 61 | <Compile Include="AdvancedWelcomeEulaDlg.wxs" /> |
64 | <Compile Include="FeaturesDlg.wxs" /> | 62 | <Compile Include="FeaturesDlg.wxs" /> |
65 | <Compile Include="InstallScopeDlg.wxs" /> | 63 | <Compile Include="InstallScopeDlg.wxs" /> |
64 | <!-- TODO: Reenable when able to compile | ||
66 | <Compile Include="WixUI_Advanced.wxs" /> | 65 | <Compile Include="WixUI_Advanced.wxs" /> |
66 | --> | ||
67 | </ItemGroup> | ||
68 | |||
69 | <ItemGroup> | ||
67 | <EmbeddedResource Include="WixUI_ar-SA.wxl" /> | 70 | <EmbeddedResource Include="WixUI_ar-SA.wxl" /> |
68 | <EmbeddedResource Include="WixUI_bg-BG.wxl" /> | 71 | <EmbeddedResource Include="WixUI_bg-BG.wxl" /> |
69 | <EmbeddedResource Include="WixUI_ca-ES.wxl" /> | 72 | <EmbeddedResource Include="WixUI_ca-ES.wxl" /> |
@@ -107,8 +110,26 @@ | |||
107 | </ItemGroup> | 110 | </ItemGroup> |
108 | 111 | ||
109 | <ItemGroup> | 112 | <ItemGroup> |
110 | <ProjectReference Include="..\ca\uica.vcxproj" /> | 113 | <None Include="packages.config" /> |
111 | </ItemGroup> | 114 | </ItemGroup> |
112 | 115 | ||
113 | <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), wix.proj))\tools\WixBuild.targets" /> | 116 | <ItemGroup> |
117 | <ProjectReference Include="..\ca\uica.vcxproj"> | ||
118 | <Name>uica</Name> | ||
119 | <Project>{F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}</Project> | ||
120 | </ProjectReference> | ||
121 | </ItemGroup> | ||
122 | <Import Project="$(WixTargetsPath)" Condition=" '$(WixTargetsPath)' != '' AND Exists('$(WixTargetsPath)') " /> | ||
123 | <Import Project="$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\wix.targets" Condition=" '$(WixTargetsPath)' == '' AND Exists('$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\wix.targets') " /> | ||
124 | <Target Name="EnsureWixToolsetInstalled" Condition=" '$(WixTargetsImported)' != 'true' "> | ||
125 | <Error Text="WiX Toolset build tools (v4.0 or later) must be installed to build this project. To download the WiX Toolset, go to http://wixtoolset.org/releases/." /> | ||
126 | </Target> | ||
127 | <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> | ||
128 | <PropertyGroup> | ||
129 | <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> | ||
130 | </PropertyGroup> | ||
131 | <Error Condition="!Exists('..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets'))" /> | ||
132 | <Error Condition="!Exists('..\..\packages\WixToolset.MSBuild.4.0.0-build-0035\build\WixToolset.MSBuild.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.MSBuild.4.0.0-build-0035\build\WixToolset.MSBuild.props'))" /> | ||
133 | </Target> | ||
134 | <Import Project="..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets" Condition="Exists('..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets')" /> | ||
114 | </Project> | 135 | </Project> |
diff --git a/version.json b/version.json new file mode 100644 index 00000000..5f857771 --- /dev/null +++ b/version.json | |||
@@ -0,0 +1,11 @@ | |||
1 | { | ||
2 | "version": "4.0", | ||
3 | "publicReleaseRefSpec": [ | ||
4 | "^refs/heads/master$" | ||
5 | ], | ||
6 | "cloudBuild": { | ||
7 | "buildNumber": { | ||
8 | "enabled": true | ||
9 | } | ||
10 | } | ||
11 | } | ||