diff options
author | Bob Arnson <bob@firegiant.com> | 2020-07-06 12:34:48 -0400 |
---|---|---|
committer | Bob Arnson <bob@firegiant.com> | 2020-07-06 12:39:18 -0400 |
commit | c134594328bd63fb19b88239694523f04108030e (patch) | |
tree | 7196012533c8497b0e1f2081b3ddb284367482ba | |
parent | e761a7cb8dff5ceba9d91eae85c53867950f6819 (diff) | |
download | wix-c134594328bd63fb19b88239694523f04108030e.tar.gz wix-c134594328bd63fb19b88239694523f04108030e.tar.bz2 wix-c134594328bd63fb19b88239694523f04108030e.zip |
Add per-platform custom action support.
-rw-r--r-- | Sql.wixext.sln | 5 | ||||
-rw-r--r-- | src/ca/caDecor.h | 13 | ||||
-rw-r--r-- | src/ca/precomp.h | 2 | ||||
-rw-r--r-- | src/ca/scadb.cpp | 6 | ||||
-rw-r--r-- | src/ca/scasqlstr.cpp | 4 | ||||
-rw-r--r-- | src/ca/sqlca.vcxproj | 26 | ||||
-rw-r--r-- | src/wixext/SqlCompiler.cs | 5 | ||||
-rw-r--r-- | src/wixlib/SqlExtension.wxi | 36 | ||||
-rw-r--r-- | src/wixlib/SqlExtension.wxs | 29 | ||||
-rw-r--r-- | src/wixlib/SqlExtension_arm.wxs | 8 | ||||
-rw-r--r-- | src/wixlib/SqlExtension_arm64.wxs | 8 | ||||
-rw-r--r-- | src/wixlib/SqlExtension_x64.wxs | 8 | ||||
-rw-r--r-- | src/wixlib/SqlExtension_x86.wxs | 8 | ||||
-rw-r--r-- | src/wixlib/caDecor.wxi | 40 | ||||
-rw-r--r-- | src/wixlib/sql.wixproj | 13 |
15 files changed, 166 insertions, 45 deletions
diff --git a/Sql.wixext.sln b/Sql.wixext.sln index f033987f..cfa9ad4f 100644 --- a/Sql.wixext.sln +++ b/Sql.wixext.sln | |||
@@ -1,7 +1,7 @@ | |||
1 | | 1 | |
2 | Microsoft Visual Studio Solution File, Format Version 12.00 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 |
3 | # Visual Studio 15 | 3 | # Visual Studio Version 16 |
4 | VisualStudioVersion = 15.0.28010.2016 | 4 | VisualStudioVersion = 16.0.30204.135 |
5 | MinimumVisualStudioVersion = 10.0.40219.1 | 5 | MinimumVisualStudioVersion = 10.0.40219.1 |
6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlca", "src\ca\sqlca.vcxproj", "{4DCA6E4B-A1F1-4450-BC2D-94AC20F31935}" | 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlca", "src\ca\sqlca.vcxproj", "{4DCA6E4B-A1F1-4450-BC2D-94AC20F31935}" |
7 | EndProject | 7 | EndProject |
@@ -20,6 +20,7 @@ Global | |||
20 | EndGlobalSection | 20 | EndGlobalSection |
21 | GlobalSection(ProjectConfigurationPlatforms) = postSolution | 21 | GlobalSection(ProjectConfigurationPlatforms) = postSolution |
22 | {4DCA6E4B-A1F1-4450-BC2D-94AC20F31935}.Debug|Any CPU.ActiveCfg = Debug|Win32 | 22 | {4DCA6E4B-A1F1-4450-BC2D-94AC20F31935}.Debug|Any CPU.ActiveCfg = Debug|Win32 |
23 | {4DCA6E4B-A1F1-4450-BC2D-94AC20F31935}.Debug|Any CPU.Build.0 = Debug|Win32 | ||
23 | {4DCA6E4B-A1F1-4450-BC2D-94AC20F31935}.Debug|x86.ActiveCfg = Debug|Win32 | 24 | {4DCA6E4B-A1F1-4450-BC2D-94AC20F31935}.Debug|x86.ActiveCfg = Debug|Win32 |
24 | {4DCA6E4B-A1F1-4450-BC2D-94AC20F31935}.Debug|x86.Build.0 = Debug|Win32 | 25 | {4DCA6E4B-A1F1-4450-BC2D-94AC20F31935}.Debug|x86.Build.0 = Debug|Win32 |
25 | {4DCA6E4B-A1F1-4450-BC2D-94AC20F31935}.Release|Any CPU.ActiveCfg = Release|Win32 | 26 | {4DCA6E4B-A1F1-4450-BC2D-94AC20F31935}.Release|Any CPU.ActiveCfg = Release|Win32 |
diff --git a/src/ca/caDecor.h b/src/ca/caDecor.h new file mode 100644 index 00000000..da274650 --- /dev/null +++ b/src/ca/caDecor.h | |||
@@ -0,0 +1,13 @@ | |||
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 | |||
5 | #if defined(_M_ARM64) | ||
6 | #define CUSTOM_ACTION_DECORATION(f) L"Wix4" f L"_A64" | ||
7 | #elif defined(_M_AMD64) | ||
8 | #define CUSTOM_ACTION_DECORATION(f) L"Wix4" f L"_X64" | ||
9 | #elif defined(_M_ARM) | ||
10 | #define CUSTOM_ACTION_DECORATION(f) L"Wix4" f L"_ARM" | ||
11 | #else | ||
12 | #define CUSTOM_ACTION_DECORATION(f) L"Wix4" f L"_X86" | ||
13 | #endif | ||
diff --git a/src/ca/precomp.h b/src/ca/precomp.h index 08454d3a..266d543c 100644 --- a/src/ca/precomp.h +++ b/src/ca/precomp.h | |||
@@ -24,3 +24,5 @@ | |||
24 | #include "sca.h" | 24 | #include "sca.h" |
25 | #include "scacost.h" | 25 | #include "scacost.h" |
26 | #include "scasqlstr.h" | 26 | #include "scasqlstr.h" |
27 | |||
28 | #include "caDecor.h" | ||
diff --git a/src/ca/scadb.cpp b/src/ca/scadb.cpp index 9f9efca2..68f7b10b 100644 --- a/src/ca/scadb.cpp +++ b/src/ca/scadb.cpp | |||
@@ -385,7 +385,7 @@ static HRESULT SchedCreateDatabase( | |||
385 | hr = SqlDatabaseExists(psd->wzServer, psd->wzInstance, psd->wzDatabase, psd->fUseIntegratedAuth, psd->scau.wzName, psd->scau.wzPassword, NULL); | 385 | hr = SqlDatabaseExists(psd->wzServer, psd->wzInstance, psd->wzDatabase, psd->fUseIntegratedAuth, psd->scau.wzName, psd->scau.wzPassword, NULL); |
386 | if (S_FALSE == hr) | 386 | if (S_FALSE == hr) |
387 | { | 387 | { |
388 | hr = WcaDoDeferredAction(L"RollbackCreateDatabase", pwzCustomActionData, COST_SQL_CREATEDB); | 388 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"RollbackCreateDatabase"), pwzCustomActionData, COST_SQL_CREATEDB); |
389 | ExitOnFailure(hr, "Failed to schedule RollbackCreateDatabase action"); | 389 | ExitOnFailure(hr, "Failed to schedule RollbackCreateDatabase action"); |
390 | } | 390 | } |
391 | 391 | ||
@@ -444,7 +444,7 @@ static HRESULT SchedCreateDatabase( | |||
444 | } | 444 | } |
445 | 445 | ||
446 | // schedule the CreateDatabase action | 446 | // schedule the CreateDatabase action |
447 | hr = WcaDoDeferredAction(L"CreateDatabase", pwzCustomActionData, COST_SQL_CREATEDB); | 447 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"CreateDatabase"), pwzCustomActionData, COST_SQL_CREATEDB); |
448 | ExitOnFailure(hr, "Failed to schedule CreateDatabase action"); | 448 | ExitOnFailure(hr, "Failed to schedule CreateDatabase action"); |
449 | 449 | ||
450 | LExit: | 450 | LExit: |
@@ -491,7 +491,7 @@ HRESULT SchedDropDatabase( | |||
491 | hr = WcaWriteStringToCaData(wzPassword, &pwzCustomActionData); | 491 | hr = WcaWriteStringToCaData(wzPassword, &pwzCustomActionData); |
492 | ExitOnFailure(hr, "Failed to add user password to CustomActionData"); | 492 | ExitOnFailure(hr, "Failed to add user password to CustomActionData"); |
493 | 493 | ||
494 | hr = WcaDoDeferredAction(L"DropDatabase", pwzCustomActionData, COST_SQL_DROPDB); | 494 | hr = WcaDoDeferredAction(CUSTOM_ACTION_DECORATION(L"DropDatabase"), pwzCustomActionData, COST_SQL_DROPDB); |
495 | ExitOnFailure(hr, "Failed to schedule DropDatabase action"); | 495 | ExitOnFailure(hr, "Failed to schedule DropDatabase action"); |
496 | 496 | ||
497 | LExit: | 497 | LExit: |
diff --git a/src/ca/scasqlstr.cpp b/src/ca/scasqlstr.cpp index 3108e307..6ac526a6 100644 --- a/src/ca/scasqlstr.cpp +++ b/src/ca/scasqlstr.cpp | |||
@@ -654,7 +654,7 @@ static HRESULT ExecuteStrings( | |||
654 | { | 654 | { |
655 | Assert(pwzCustomActionData && *pwzCustomActionData && uiCost); | 655 | Assert(pwzCustomActionData && *pwzCustomActionData && uiCost); |
656 | 656 | ||
657 | hr = WcaDoDeferredAction(1 == iOldRollback ? L"RollbackExecuteSqlStrings" : L"ExecuteSqlStrings", pwzCustomActionData, uiCost); | 657 | hr = WcaDoDeferredAction(1 == iOldRollback ? CUSTOM_ACTION_DECORATION(L"RollbackExecuteSqlStrings") : CUSTOM_ACTION_DECORATION(L"ExecuteSqlStrings"), pwzCustomActionData, uiCost); |
658 | ExitOnFailure(hr, "failed to schedule ExecuteSqlStrings action, rollback: %d", iOldRollback); | 658 | ExitOnFailure(hr, "failed to schedule ExecuteSqlStrings action, rollback: %d", iOldRollback); |
659 | iOldRollback = iRollback; | 659 | iOldRollback = iRollback; |
660 | 660 | ||
@@ -714,7 +714,7 @@ static HRESULT ExecuteStrings( | |||
714 | if (pwzCustomActionData && *pwzCustomActionData) | 714 | if (pwzCustomActionData && *pwzCustomActionData) |
715 | { | 715 | { |
716 | Assert(pwzCustomActionData && *pwzCustomActionData && uiCost); | 716 | Assert(pwzCustomActionData && *pwzCustomActionData && uiCost); |
717 | hr = WcaDoDeferredAction(1 == iRollback ? L"RollbackExecuteSqlStrings" : L"ExecuteSqlStrings", pwzCustomActionData, uiCost); | 717 | hr = WcaDoDeferredAction(1 == iRollback ? CUSTOM_ACTION_DECORATION(L"RollbackExecuteSqlStrings") : CUSTOM_ACTION_DECORATION(L"ExecuteSqlStrings"), pwzCustomActionData, uiCost); |
718 | ExitOnFailure(hr, "Failed to schedule ExecuteSqlStrings action"); | 718 | ExitOnFailure(hr, "Failed to schedule ExecuteSqlStrings action"); |
719 | 719 | ||
720 | *pwzCustomActionData = L'\0'; | 720 | *pwzCustomActionData = L'\0'; |
diff --git a/src/ca/sqlca.vcxproj b/src/ca/sqlca.vcxproj index 3c8c1a6c..e1c5beea 100644 --- a/src/ca/sqlca.vcxproj +++ b/src/ca/sqlca.vcxproj | |||
@@ -14,13 +14,37 @@ | |||
14 | <Configuration>Release</Configuration> | 14 | <Configuration>Release</Configuration> |
15 | <Platform>Win32</Platform> | 15 | <Platform>Win32</Platform> |
16 | </ProjectConfiguration> | 16 | </ProjectConfiguration> |
17 | <ProjectConfiguration Include="Debug|x64"> | ||
18 | <Configuration>Debug</Configuration> | ||
19 | <Platform>x64</Platform> | ||
20 | </ProjectConfiguration> | ||
21 | <ProjectConfiguration Include="Release|x64"> | ||
22 | <Configuration>Release</Configuration> | ||
23 | <Platform>x64</Platform> | ||
24 | </ProjectConfiguration> | ||
25 | <ProjectConfiguration Include="Debug|ARM"> | ||
26 | <Configuration>Debug</Configuration> | ||
27 | <Platform>ARM</Platform> | ||
28 | </ProjectConfiguration> | ||
29 | <ProjectConfiguration Include="Release|ARM"> | ||
30 | <Configuration>Release</Configuration> | ||
31 | <Platform>ARM</Platform> | ||
32 | </ProjectConfiguration> | ||
33 | <ProjectConfiguration Include="Debug|ARM64"> | ||
34 | <Configuration>Debug</Configuration> | ||
35 | <Platform>ARM64</Platform> | ||
36 | </ProjectConfiguration> | ||
37 | <ProjectConfiguration Include="Release|ARM64"> | ||
38 | <Configuration>Release</Configuration> | ||
39 | <Platform>ARM64</Platform> | ||
40 | </ProjectConfiguration> | ||
17 | </ItemGroup> | 41 | </ItemGroup> |
18 | 42 | ||
19 | <PropertyGroup Label="Globals"> | 43 | <PropertyGroup Label="Globals"> |
20 | <ProjectGuid>{4DCA6E4B-A1F1-4450-BC2D-94AC20F31935}</ProjectGuid> | 44 | <ProjectGuid>{4DCA6E4B-A1F1-4450-BC2D-94AC20F31935}</ProjectGuid> |
21 | <ConfigurationType>DynamicLibrary</ConfigurationType> | 45 | <ConfigurationType>DynamicLibrary</ConfigurationType> |
22 | <TargetName>sqlca</TargetName> | 46 | <TargetName>sqlca</TargetName> |
23 | <PlatformToolset>v141</PlatformToolset> | 47 | <PlatformToolset>v142</PlatformToolset> |
24 | <CharacterSet>Unicode</CharacterSet> | 48 | <CharacterSet>Unicode</CharacterSet> |
25 | <ProjectModuleDefinitionFile>sqlca.def</ProjectModuleDefinitionFile> | 49 | <ProjectModuleDefinitionFile>sqlca.def</ProjectModuleDefinitionFile> |
26 | <Description>WiX Toolset Sql CustomAction</Description> | 50 | <Description>WiX Toolset Sql CustomAction</Description> |
diff --git a/src/wixext/SqlCompiler.cs b/src/wixext/SqlCompiler.cs index 2c0f914a..bbcdc87d 100644 --- a/src/wixext/SqlCompiler.cs +++ b/src/wixext/SqlCompiler.cs | |||
@@ -7,6 +7,7 @@ namespace WixToolset.Sql | |||
7 | using System.Xml.Linq; | 7 | using System.Xml.Linq; |
8 | using WixToolset.Data; | 8 | using WixToolset.Data; |
9 | using WixToolset.Extensibility; | 9 | using WixToolset.Extensibility; |
10 | using WixToolset.Extensibility.Data; | ||
10 | using WixToolset.Sql.Symbols; | 11 | using WixToolset.Sql.Symbols; |
11 | 12 | ||
12 | /// <summary> | 13 | /// <summary> |
@@ -797,8 +798,8 @@ namespace WixToolset.Sql | |||
797 | 798 | ||
798 | private void AddReferenceToInstallSqlData(IntermediateSection section, SourceLineNumber sourceLineNumbers) | 799 | private void AddReferenceToInstallSqlData(IntermediateSection section, SourceLineNumber sourceLineNumbers) |
799 | { | 800 | { |
800 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, SymbolDefinitions.CustomAction, "InstallSqlData"); | 801 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "InstallSqlData", this.Context.Platform, CustomActionPlatforms.X86 | CustomActionPlatforms.X64 | CustomActionPlatforms.ARM | CustomActionPlatforms.ARM64); |
801 | this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, SymbolDefinitions.CustomAction, "UninstallSqlData"); | 802 | this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "UninstallSqlData", this.Context.Platform, CustomActionPlatforms.X86 | CustomActionPlatforms.X64 | CustomActionPlatforms.ARM | CustomActionPlatforms.ARM64); |
802 | } | 803 | } |
803 | } | 804 | } |
804 | } | 805 | } |
diff --git a/src/wixlib/SqlExtension.wxi b/src/wixlib/SqlExtension.wxi new file mode 100644 index 00000000..43b91fba --- /dev/null +++ b/src/wixlib/SqlExtension.wxi | |||
@@ -0,0 +1,36 @@ | |||
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 | <?include caDecor.wxi ?> | ||
6 | |||
7 | <Fragment> | ||
8 | <UI> | ||
9 | <ProgressText Action="$(var.Prefix)InstallSqlData$(var.Suffix)">!(loc.ConfigureSql)</ProgressText> | ||
10 | <ProgressText Action="$(var.Prefix)UninstallSqlData$(var.Suffix)">!(loc.ConfigureSql)</ProgressText> | ||
11 | <ProgressText Action="$(var.Prefix)CreateDatabase$(var.Suffix)">!(loc.CreateDatabase)</ProgressText> | ||
12 | <ProgressText Action="$(var.Prefix)DropDatabase$(var.Suffix)">!(loc.DropDatabase)</ProgressText> | ||
13 | <ProgressText Action="$(var.Prefix)ExecuteSqlStrings$(var.Suffix)">!(loc.ExecuteSqlStrings)</ProgressText> | ||
14 | <ProgressText Action="$(var.Prefix)RollbackExecuteSqlStrings$(var.Suffix)">!(loc.RollbackExecuteSqlStrings)</ProgressText> | ||
15 | </UI> | ||
16 | |||
17 | <!-- The SQL custom actions impersonate the user because the user's credentials are used when connecting to the database if none are provided. --> | ||
18 | <CustomAction Id="$(var.Prefix)InstallSqlData$(var.Suffix)" BinaryKey="SqlCA$(var.Suffix)" DllEntry="InstallSqlData" Execute="immediate" Return="check" /> | ||
19 | <CustomAction Id="$(var.Prefix)UninstallSqlData$(var.Suffix)" BinaryKey="SqlCA$(var.Suffix)" DllEntry="UninstallSqlData" Execute="immediate" Return="check" /> | ||
20 | <CustomAction Id="$(var.Prefix)CreateDatabase$(var.Suffix)" BinaryKey="SqlCA$(var.Suffix)" DllEntry="CreateDatabase" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" TerminalServerAware="yes" /> | ||
21 | <CustomAction Id="$(var.Prefix)RollbackCreateDatabase$(var.Suffix)" BinaryKey="SqlCA$(var.Suffix)" DllEntry="DropDatabase" Execute="rollback" Return="check" HideTarget="yes" SuppressModularization="yes" TerminalServerAware="yes" /> | ||
22 | <CustomAction Id="$(var.Prefix)DropDatabase$(var.Suffix)" BinaryKey="SqlCA$(var.Suffix)" DllEntry="DropDatabase" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" TerminalServerAware="yes" /> | ||
23 | <CustomAction Id="$(var.Prefix)ExecuteSqlStrings$(var.Suffix)" BinaryKey="SqlCA$(var.Suffix)" DllEntry="ExecuteSqlStrings" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" TerminalServerAware="yes" /> | ||
24 | <CustomAction Id="$(var.Prefix)RollbackExecuteSqlStrings$(var.Suffix)" BinaryKey="SqlCA$(var.Suffix)" DllEntry="ExecuteSqlStrings" Execute="rollback" Return="check" HideTarget="yes" SuppressModularization="yes" TerminalServerAware="yes" /> | ||
25 | |||
26 | <InstallExecuteSequence> | ||
27 | <Custom Action="$(var.Prefix)UninstallSqlData$(var.Suffix)" Before="RemoveFiles" Overridable="yes">NOT SKIPUNINSTALLSQLDATA AND VersionNT > 400</Custom> | ||
28 | <Custom Action="$(var.Prefix)InstallSqlData$(var.Suffix)" After="InstallFiles" Overridable="yes">NOT SKIPINSTALLSQLDATA AND VersionNT > 400</Custom> | ||
29 | </InstallExecuteSequence> | ||
30 | </Fragment> | ||
31 | |||
32 | <!-- Server Custom Action DLL Definitions --> | ||
33 | <Fragment> | ||
34 | <Binary Id="SqlCA$(var.Suffix)" SourceFile="!(bindpath.$(var.platform))sqlca.dll" /> | ||
35 | </Fragment> | ||
36 | </Include> | ||
diff --git a/src/wixlib/SqlExtension.wxs b/src/wixlib/SqlExtension.wxs index 6e08b7fa..00a6edcb 100644 --- a/src/wixlib/SqlExtension.wxs +++ b/src/wixlib/SqlExtension.wxs | |||
@@ -1,12 +1,9 @@ | |||
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 | |||
5 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> | 4 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> |
6 | <?include caerr.wxi ?> | 5 | <?include caerr.wxi ?> |
7 | 6 | ||
8 | <!-- Server Custom Action Definitions --> | ||
9 | |||
10 | <Fragment> | 7 | <Fragment> |
11 | <UI> | 8 | <UI> |
12 | <Error Id="$(var.msierrSQLFailedCreateDatabase)">!(loc.msierrSQLFailedCreateDatabase)</Error> | 9 | <Error Id="$(var.msierrSQLFailedCreateDatabase)">!(loc.msierrSQLFailedCreateDatabase)</Error> |
@@ -14,32 +11,6 @@ | |||
14 | <Error Id="$(var.msierrSQLFailedConnectDatabase)">!(loc.msierrSQLFailedConnectDatabase)</Error> | 11 | <Error Id="$(var.msierrSQLFailedConnectDatabase)">!(loc.msierrSQLFailedConnectDatabase)</Error> |
15 | <Error Id="$(var.msierrSQLFailedExecString)">!(loc.msierrSQLFailedExecString)</Error> | 12 | <Error Id="$(var.msierrSQLFailedExecString)">!(loc.msierrSQLFailedExecString)</Error> |
16 | <Error Id="$(var.msierrSQLDatabaseAlreadyExists)">!(loc.msierrSQLDatabaseAlreadyExists)</Error> | 13 | <Error Id="$(var.msierrSQLDatabaseAlreadyExists)">!(loc.msierrSQLDatabaseAlreadyExists)</Error> |
17 | |||
18 | <ProgressText Action="InstallSqlData">!(loc.ConfigureSql)</ProgressText> | ||
19 | <ProgressText Action="UninstallSqlData">!(loc.ConfigureSql)</ProgressText> | ||
20 | <ProgressText Action="CreateDatabase">!(loc.CreateDatabase)</ProgressText> | ||
21 | <ProgressText Action="DropDatabase">!(loc.DropDatabase)</ProgressText> | ||
22 | <ProgressText Action="ExecuteSqlStrings">!(loc.ExecuteSqlStrings)</ProgressText> | ||
23 | <ProgressText Action="RollbackExecuteSqlStrings">!(loc.RollbackExecuteSqlStrings)</ProgressText> | ||
24 | </UI> | 14 | </UI> |
25 | |||
26 | <!-- The SQL custom actions should impersonate the user because the user"s cridentials are used when connected to the database if none are provided --> | ||
27 | <CustomAction Id="InstallSqlData" BinaryKey="SqlCA" DllEntry="InstallSqlData" Execute="immediate" Return="check" /> | ||
28 | <CustomAction Id="UninstallSqlData" BinaryKey="SqlCA" DllEntry="UninstallSqlData" Execute="immediate" Return="check" /> | ||
29 | <CustomAction Id="CreateDatabase" BinaryKey="SqlCA" DllEntry="CreateDatabase" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" TerminalServerAware="yes" /> | ||
30 | <CustomAction Id="RollbackCreateDatabase" BinaryKey="SqlCA" DllEntry="DropDatabase" Execute="rollback" Return="check" HideTarget="yes" SuppressModularization="yes" TerminalServerAware="yes" /> | ||
31 | <CustomAction Id="DropDatabase" BinaryKey="SqlCA" DllEntry="DropDatabase" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" TerminalServerAware="yes" /> | ||
32 | <CustomAction Id="ExecuteSqlStrings" BinaryKey="SqlCA" DllEntry="ExecuteSqlStrings" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" TerminalServerAware="yes" /> | ||
33 | <CustomAction Id="RollbackExecuteSqlStrings" BinaryKey="SqlCA" DllEntry="ExecuteSqlStrings" Execute="rollback" Return="check" HideTarget="yes" SuppressModularization="yes" TerminalServerAware="yes" /> | ||
34 | |||
35 | <InstallExecuteSequence> | ||
36 | <Custom Action="UninstallSqlData" Before="RemoveFiles" Overridable="yes">NOT SKIPUNINSTALLSQLDATA AND VersionNT > 400</Custom> | ||
37 | <Custom Action="InstallSqlData" After="InstallFiles" Overridable="yes">NOT SKIPINSTALLSQLDATA AND VersionNT > 400</Custom> | ||
38 | </InstallExecuteSequence> | ||
39 | </Fragment> | ||
40 | |||
41 | <!-- Server Custom Action DLL Definitions --> | ||
42 | <Fragment> | ||
43 | <Binary Id="SqlCA" SourceFile="sqlca.dll" /> | ||
44 | </Fragment> | 15 | </Fragment> |
45 | </Wix> | 16 | </Wix> |
diff --git a/src/wixlib/SqlExtension_arm.wxs b/src/wixlib/SqlExtension_arm.wxs new file mode 100644 index 00000000..b5f903f6 --- /dev/null +++ b/src/wixlib/SqlExtension_arm.wxs | |||
@@ -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 | |||
5 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> | ||
6 | <?define platform=arm ?> | ||
7 | <?include SqlExtension.wxi ?> | ||
8 | </Wix> | ||
diff --git a/src/wixlib/SqlExtension_arm64.wxs b/src/wixlib/SqlExtension_arm64.wxs new file mode 100644 index 00000000..08394685 --- /dev/null +++ b/src/wixlib/SqlExtension_arm64.wxs | |||
@@ -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 | |||
5 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> | ||
6 | <?define platform=arm64 ?> | ||
7 | <?include SqlExtension.wxi ?> | ||
8 | </Wix> | ||
diff --git a/src/wixlib/SqlExtension_x64.wxs b/src/wixlib/SqlExtension_x64.wxs new file mode 100644 index 00000000..d7ba8e46 --- /dev/null +++ b/src/wixlib/SqlExtension_x64.wxs | |||
@@ -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 | |||
5 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> | ||
6 | <?define platform=x64 ?> | ||
7 | <?include SqlExtension.wxi ?> | ||
8 | </Wix> | ||
diff --git a/src/wixlib/SqlExtension_x86.wxs b/src/wixlib/SqlExtension_x86.wxs new file mode 100644 index 00000000..70aae67c --- /dev/null +++ b/src/wixlib/SqlExtension_x86.wxs | |||
@@ -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 | |||
5 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> | ||
6 | <?define platform=x86 ?> | ||
7 | <?include SqlExtension.wxi ?> | ||
8 | </Wix> | ||
diff --git a/src/wixlib/caDecor.wxi b/src/wixlib/caDecor.wxi new file mode 100644 index 00000000..1d00df8f --- /dev/null +++ b/src/wixlib/caDecor.wxi | |||
@@ -0,0 +1,40 @@ | |||
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 | <Include xmlns="http://schemas.microsoft.com/wix/2006/wi"> | ||
6 | <?ifdef Prefix ?> | ||
7 | <?undef Prefix ?> | ||
8 | <?endif ?> | ||
9 | |||
10 | <?define Prefix="Wix4" ?> | ||
11 | |||
12 | <?ifndef platform ?> | ||
13 | <?define platform="x86" ?> | ||
14 | <?endif ?> | ||
15 | |||
16 | <?if $(var.platform)="" ?> | ||
17 | <?undef platform ?> | ||
18 | <?define platform="x86" ?> | ||
19 | <?endif ?> | ||
20 | |||
21 | <?ifdef Suffix ?> | ||
22 | <?undef Suffix ?> | ||
23 | <?endif ?> | ||
24 | |||
25 | <?if $(var.platform)~="x86" ?> | ||
26 | <?define Suffix="_X86" ?> | ||
27 | <?endif ?> | ||
28 | |||
29 | <?if $(var.platform)~="x64" ?> | ||
30 | <?define Suffix="_X64" ?> | ||
31 | <?endif ?> | ||
32 | |||
33 | <?if $(var.platform)~="arm" ?> | ||
34 | <?define Suffix="_A32" ?> | ||
35 | <?endif ?> | ||
36 | |||
37 | <?if $(var.platform)~="arm64" ?> | ||
38 | <?define Suffix="_A64" ?> | ||
39 | <?endif ?> | ||
40 | </Include> | ||
diff --git a/src/wixlib/sql.wixproj b/src/wixlib/sql.wixproj index b4a37d6c..96673563 100644 --- a/src/wixlib/sql.wixproj +++ b/src/wixlib/sql.wixproj | |||
@@ -1,18 +1,19 @@ | |||
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 | <Project Sdk="WixToolset.Sdk"> | 2 | <Project Sdk="WixToolset.Sdk"> |
3 | |||
4 | <PropertyGroup> | 3 | <PropertyGroup> |
5 | <OutputType>Library</OutputType> | 4 | <OutputType>Library</OutputType> |
6 | <BindFiles>true</BindFiles> | 5 | <BindFiles>true</BindFiles> |
7 | <Cultures>en-us</Cultures> | 6 | <Cultures>en-us</Cultures> |
8 | </PropertyGroup> | 7 | </PropertyGroup> |
9 | 8 | ||
10 | <ItemGroup> | 9 | <ItemGroup> |
11 | <ProjectReference Include="..\ca\sqlca.vcxproj" /> | 10 | <ProjectReference Include="..\ca\sqlca.vcxproj" Properties="Platform=ARM" /> |
11 | <ProjectReference Include="..\ca\sqlca.vcxproj" Properties="Platform=ARM64" /> | ||
12 | <ProjectReference Include="..\ca\sqlca.vcxproj" Properties="Platform=x86" /> | ||
13 | <ProjectReference Include="..\ca\sqlca.vcxproj" Properties="Platform=x64" /> | ||
12 | </ItemGroup> | 14 | </ItemGroup> |
13 | 15 | ||
14 | <ItemGroup> | 16 | <ItemGroup> |
15 | <PackageReference Include="Nerdbank.GitVersioning" Version="2.1.65" PrivateAssets="All" /> | 17 | <PackageReference Include="Nerdbank.GitVersioning" Version="2.1.65" PrivateAssets="All" /> |
16 | </ItemGroup> | 18 | </ItemGroup> |
17 | 19 | </Project> \ No newline at end of file | |
18 | </Project> | ||