From 16ac2bb264635e4b479c91e47a649cabbbe62bb2 Mon Sep 17 00:00:00 2001 From: Terry MacDonald Date: Mon, 21 Dec 2020 23:06:42 +1300 Subject: [PATCH] Added WiX Bootstrapper project (WIP) This project will encapsulate the .Net web installer and the DisplayMagician installer so that it installs the .net 4.8 if it isn't already installed. Still not sure if I will keep it. It is a partial work in progress. --- DisplayMagician.sln | 10 ++ DisplayMagicianBootstrapper/Bundle.wxs | 25 +++++ .../DisplayMagicianBootstrapper.wixproj | 69 ++++++++++++ .../Includes/DisplayMagicianVariables.wxi | 29 +++++ .../Lang/en-us/EULA_en-us.rtf | Bin 0 -> 915 bytes .../Lang/en-us/Loc_en-us.wxl | 18 ++++ .../DisplayMagicianSetup.wixproj | 18 ++-- .../DisplayMagicianFilesFragment.wxs | 102 +++++++++--------- DisplayMagicianSetup/Lang/en-us/Loc_en-us.wxl | 4 +- DisplayMagicianSetup/Product.wxs | 44 ++++---- 10 files changed, 238 insertions(+), 81 deletions(-) create mode 100644 DisplayMagicianBootstrapper/Bundle.wxs create mode 100644 DisplayMagicianBootstrapper/DisplayMagicianBootstrapper.wixproj create mode 100644 DisplayMagicianBootstrapper/Includes/DisplayMagicianVariables.wxi create mode 100644 DisplayMagicianBootstrapper/Lang/en-us/EULA_en-us.rtf create mode 100644 DisplayMagicianBootstrapper/Lang/en-us/Loc_en-us.wxl diff --git a/DisplayMagician.sln b/DisplayMagician.sln index 6a67700..5e3eaaf 100644 --- a/DisplayMagician.sln +++ b/DisplayMagician.sln @@ -18,6 +18,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DisplayMagicianTests", "Dis EndProject Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "DisplayMagicianSetup", "DisplayMagicianSetup\DisplayMagicianSetup.wixproj", "{DFD22D4D-F2E4-4BA4-B32A-7A990A35BA08}" EndProject +Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "DisplayMagicianBootstrapper", "DisplayMagicianBootstrapper\DisplayMagicianBootstrapper.wixproj", "{59F3F084-EC7E-42D4-B0F4-8131B82BDB3B}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|AnyCPU = Debug|AnyCPU @@ -99,6 +101,14 @@ Global {DFD22D4D-F2E4-4BA4-B32A-7A990A35BA08}.Release|x64.Build.0 = Release|x64 {DFD22D4D-F2E4-4BA4-B32A-7A990A35BA08}.Release|x86.ActiveCfg = Release|x86 {DFD22D4D-F2E4-4BA4-B32A-7A990A35BA08}.Release|x86.Build.0 = Release|x86 + {59F3F084-EC7E-42D4-B0F4-8131B82BDB3B}.Debug|AnyCPU.ActiveCfg = Debug|x86 + {59F3F084-EC7E-42D4-B0F4-8131B82BDB3B}.Debug|x64.ActiveCfg = Debug|x86 + {59F3F084-EC7E-42D4-B0F4-8131B82BDB3B}.Debug|x86.ActiveCfg = Debug|x86 + {59F3F084-EC7E-42D4-B0F4-8131B82BDB3B}.Debug|x86.Build.0 = Debug|x86 + {59F3F084-EC7E-42D4-B0F4-8131B82BDB3B}.Release|AnyCPU.ActiveCfg = Release|x86 + {59F3F084-EC7E-42D4-B0F4-8131B82BDB3B}.Release|x64.ActiveCfg = Release|x86 + {59F3F084-EC7E-42D4-B0F4-8131B82BDB3B}.Release|x86.ActiveCfg = Release|x86 + {59F3F084-EC7E-42D4-B0F4-8131B82BDB3B}.Release|x86.Build.0 = Release|x86 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/DisplayMagicianBootstrapper/Bundle.wxs b/DisplayMagicianBootstrapper/Bundle.wxs new file mode 100644 index 0000000..b349b93 --- /dev/null +++ b/DisplayMagicianBootstrapper/Bundle.wxs @@ -0,0 +1,25 @@ + + + + + + + + = 1000]]> + + + + + + + + + diff --git a/DisplayMagicianBootstrapper/DisplayMagicianBootstrapper.wixproj b/DisplayMagicianBootstrapper/DisplayMagicianBootstrapper.wixproj new file mode 100644 index 0000000..0f9704b --- /dev/null +++ b/DisplayMagicianBootstrapper/DisplayMagicianBootstrapper.wixproj @@ -0,0 +1,69 @@ + + + + Debug + x86 + 3.10 + 59f3f084-ec7e-42d4-b0f4-8131b82bdb3b + 2.0 + DisplayMagicianBootstrapper + Bundle + + + bin\$(Configuration)\ + obj\$(Configuration)\ + Debug + + + bin\$(Configuration)\ + obj\$(Configuration)\ + + + + + + + $(WixExtDir)\WixNetFxExtension.dll + WixNetFxExtension + + + $(WixExtDir)\WixBalExtension.dll + WixBalExtension + + + + + + + + + + + + + + + + + DisplayMagicianSetup + {dfd22d4d-f2e4-4ba4-b32a-7a990a35ba08} + True + True + Binaries;Content;Satellites + INSTALLFOLDER + + + + + + + + + \ No newline at end of file diff --git a/DisplayMagicianBootstrapper/Includes/DisplayMagicianVariables.wxi b/DisplayMagicianBootstrapper/Includes/DisplayMagicianVariables.wxi new file mode 100644 index 0000000..60a2512 --- /dev/null +++ b/DisplayMagicianBootstrapper/Includes/DisplayMagicianVariables.wxi @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/DisplayMagicianBootstrapper/Lang/en-us/EULA_en-us.rtf b/DisplayMagicianBootstrapper/Lang/en-us/EULA_en-us.rtf new file mode 100644 index 0000000000000000000000000000000000000000..821a9b31b9300dcfadc2329b0fe3a6ae0a3dd3f1 GIT binary patch literal 915 zcma)5!A|2a5ZyBp|1d{bLF*PcKu_7yLbat-X)0977dM_H*1C3NJ48{`f8R+;wKudr zShn+K=DjzQmb;LRxG-LEiCMu}TY+V+JEOV1v;kyB{6- zr^5P=GV-2R=?E?_cqyFh%lk3oTA2J{G=79<Da%`;^`~lqhE{VBH48U=8I%C+iYO|9zz7{C{7mB?J|mCy^YuJ zo7v#p=#z{MnbkS|jmcTxB!?g|2&Fxcl$Iu1p_VQG$uljL@u7X)t!MFavHA@~2&I1- z4(qxe + + 1033 + DisplayMagician + DisplayMagician will automatically run your games with a different display profile or audio settings and then will revert everything back to the way it was when you've finished playing. + \Lang\en-us\EULA_en-us.rtf + LittleBitBig + https://displaymagician.littlebitbig.com + https://displaymagician.littlebitbig.com + https://github.com/terrymacdonald/DisplayMagician/releases + LogReporter will collect details about your computer to help us troubleshoot errors running DisplayMagician. + This application is is not supported on your current OS. Your OS must be Windows 10 or later (64-bit only). + .NET Framework 4.8 or higher is required for DisplayMagician to work. Please install the latest .NET Framework then run this installer again. + You must close !(loc.ProductName) in order to upgrade it! + You cannot downgrade !(loc.ProductName) to a lower version using this installer. Please uninstall the older version of !(loc.ProductName) first! + A newer version of !(loc.ProductName) is already installed. + This setup wizard will install DisplayMagician onto your computer. DisplayMagician will automatically run your games with a different display profile or audio settings and then will revert everything back to the way it was when you've finished playing. If you want to install DisplayMagician then click Next to continue or Cancel to exit. + diff --git a/DisplayMagicianSetup/DisplayMagicianSetup.wixproj b/DisplayMagicianSetup/DisplayMagicianSetup.wixproj index 678fd6d..360a331 100644 --- a/DisplayMagicianSetup/DisplayMagicianSetup.wixproj +++ b/DisplayMagicianSetup/DisplayMagicianSetup.wixproj @@ -97,21 +97,21 @@ - - $(WixExtDir)\WixNetFxExtension.dll - WixNetFxExtension - + + + - $(WixExtDir)\WixUtilExtension.dll + C:\Program Files (x86)\WiX Toolset v3.14\bin\WixUtilExtension.dll WixUtilExtension - $(WixExtDir)\WixUIExtension.dll + C:\Program Files (x86)\WiX Toolset v3.14\bin\WixUIExtension.dll WixUIExtension - - - + + C:\Program Files (x86)\WiX Toolset v3.14\bin\WixNetFxExtension.dll + WixNetFxExtension + diff --git a/DisplayMagicianSetup/Fragments/DisplayMagicianFilesFragment.wxs b/DisplayMagicianSetup/Fragments/DisplayMagicianFilesFragment.wxs index 41f4402..578637c 100644 --- a/DisplayMagicianSetup/Fragments/DisplayMagicianFilesFragment.wxs +++ b/DisplayMagicianSetup/Fragments/DisplayMagicianFilesFragment.wxs @@ -2,196 +2,196 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/DisplayMagicianSetup/Lang/en-us/Loc_en-us.wxl b/DisplayMagicianSetup/Lang/en-us/Loc_en-us.wxl index 96b0f90..a7e058a 100644 --- a/DisplayMagicianSetup/Lang/en-us/Loc_en-us.wxl +++ b/DisplayMagicianSetup/Lang/en-us/Loc_en-us.wxl @@ -7,8 +7,8 @@ LittleBitBig LogReporter LogReporter will collect details about your computer to help us troubleshoot errors running DisplayMagician. - This application is is not supported on your current OS. Your OS must be Windows 10 or later (64-bit only). - .NET Framework 4.8 or higher is required for DisplayMagician to work. Please install the latest .NET Framework then run this installer again. + This application is is not supported on your current OS. Your OS must be Windows 8.1 or later (64-bit only). + .NET Framework 4.8 or higher is required for DisplayMagician to work. Please install the latest .NET Framework then run this installer again. You can download the latest .NET Framework from https://dotnet.microsoft.com/download/dotnet-framework. You must close !(loc.ProductName) in order to upgrade it! You cannot downgrade !(loc.ProductName) to a lower version using this installer. Please uninstall the older version of !(loc.ProductName) first! A newer version of !(loc.ProductName) is already installed. diff --git a/DisplayMagicianSetup/Product.wxs b/DisplayMagicianSetup/Product.wxs index 201dd8b..a580c63 100644 --- a/DisplayMagicianSetup/Product.wxs +++ b/DisplayMagicianSetup/Product.wxs @@ -1,8 +1,9 @@ - + - + + + + + = "#528040")]]> + - - - - = 1000)]]> + = 603)]]> - + - + - + @@ -87,7 +93,7 @@ - + @@ -110,14 +116,14 @@ Name="!(loc.LogReporterName)" Description="!(loc.LogReporterDescription)" Target="[APPLICATIONROOTDIRECTORY]$(var.DisplayMagicianLogReporter.TargetFileName)" - WorkingDirectory="APPLICATIONROOTDIRECTORY" + WorkingDirectory="APPLICATIONROOTDIRECTORY" Icon="DisplayMagicianIcon.ico" /> - - + + @@ -135,7 +141,7 @@ NOT Installed (NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL") - + @@ -143,7 +149,7 @@ - + @@ -154,7 +160,7 @@ - + @@ -162,7 +168,7 @@ - +