diff --git a/.gitignore b/.gitignore index 75d2ba66b3..b181dd0b2b 100644 --- a/.gitignore +++ b/.gitignore @@ -18,7 +18,7 @@ # Compiled Dynamic libraries *.so *.dylib -*.dll +#*.dll # Fortran module files *.mod @@ -55,8 +55,8 @@ [Dd]ebugPublic/ [Rr]elease/ [Rr]eleases/ -x64/ -x86/ +#x64/ +#x86/ bld/ [Bb]in/ [Oo]bj/ diff --git a/Jamroot.jam b/Jamroot.jam index f4a5616ce6..20bb3aa0dd 100644 --- a/Jamroot.jam +++ b/Jamroot.jam @@ -363,6 +363,8 @@ project pwiz msvc,on:off # save space on debug builds by deleting test artifacts which run successfully + @msvc-runtime-dlls + $(TEAMCITY_TEST_DECORATION) : build-dir $(PWIZ_BUILD_PATH) @@ -704,6 +706,7 @@ install executables @install-vendor-api-dependencies @dotNET-dependencies @gcc-install-dll-path + msvc:install-msvc-runtime-dlls VERSION ; @@ -715,6 +718,7 @@ install gui_tools @install-vendor-api-dependencies @dotNET-dependencies @gcc-install-dll-path + msvc:install-msvc-runtime-dlls ; install package_docs @@ -731,6 +735,7 @@ install msconvert @install-identdata-dependencies @install-vendor-api-dependencies @gcc-install-dll-path + msvc:install-msvc-runtime-dlls ; explicit msconvert ; @@ -740,6 +745,7 @@ install msbenchmark @install-location @install-vendor-api-dependencies @gcc-install-dll-path + msvc:install-msvc-runtime-dlls ; explicit msbenchmark ; @@ -750,6 +756,7 @@ install idconvert @install-identdata-dependencies @install-vendor-api-dependencies @gcc-install-dll-path + msvc:install-msvc-runtime-dlls ; explicit idconvert ; @@ -1146,6 +1153,161 @@ rule msparser-usage-requirements ( properties * ) searched-lib msparser : : @msparser-requirements : : @msparser-usage-requirements ; +.msvcrt-x86 = + Microsoft.VC110.CRT/x86/msvcp110.dll + Microsoft.VC110.CRT/x86/msvcr110.dll + Microsoft.VC110.CRT/x86/vcomp110.dll + Microsoft.VC120.CRT/x86/msvcp120.dll + Microsoft.VC120.CRT/x86/msvcr120.dll + Microsoft.VC140.CRT/x86/api-ms-win-core-console-l1-1-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-core-datetime-l1-1-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-core-debug-l1-1-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-core-errorhandling-l1-1-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-core-file-l1-1-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-core-file-l1-2-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-core-file-l2-1-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-core-handle-l1-1-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-core-heap-l1-1-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-core-interlocked-l1-1-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-core-libraryloader-l1-1-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-core-localization-l1-2-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-core-memory-l1-1-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-core-namedpipe-l1-1-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-core-processenvironment-l1-1-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-core-processthreads-l1-1-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-core-processthreads-l1-1-1.dll + Microsoft.VC140.CRT/x86/api-ms-win-core-profile-l1-1-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-core-rtlsupport-l1-1-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-core-string-l1-1-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-core-synch-l1-1-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-core-synch-l1-2-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-core-sysinfo-l1-1-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-core-timezone-l1-1-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-core-util-l1-1-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-crt-conio-l1-1-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-crt-convert-l1-1-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-crt-environment-l1-1-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-crt-filesystem-l1-1-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-crt-heap-l1-1-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-crt-locale-l1-1-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-crt-math-l1-1-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-crt-multibyte-l1-1-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-crt-private-l1-1-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-crt-process-l1-1-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-crt-runtime-l1-1-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-crt-stdio-l1-1-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-crt-string-l1-1-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-crt-time-l1-1-0.dll + Microsoft.VC140.CRT/x86/api-ms-win-crt-utility-l1-1-0.dll + Microsoft.VC140.CRT/x86/mfc140.dll + Microsoft.VC140.CRT/x86/msvcp140.dll + Microsoft.VC140.CRT/x86/ucrtbase.dll + Microsoft.VC140.CRT/x86/vcomp140.dll + Microsoft.VC140.CRT/x86/vcruntime140.dll + Microsoft.VC90.CRT/x86/msvcm90.dll + Microsoft.VC90.CRT/x86/msvcp90.dll + Microsoft.VC90.CRT/x86/msvcr90.dll + Microsoft.VC90.CRT/x86/vcomp90.dll + Microsoft.VC90.MFC/x86/mfc90.dll + Microsoft.VC90.MFC/x86/mfc90u.dll + ; + +.msvcrt-x64 = + Microsoft.VC110.CRT/x64/msvcp110.dll + Microsoft.VC110.CRT/x64/msvcr110.dll + Microsoft.VC110.CRT/x64/vcomp110.dll + Microsoft.VC120.CRT/x64/msvcp120.dll + Microsoft.VC120.CRT/x64/msvcr120.dll + Microsoft.VC140.CRT/x64/api-ms-win-core-console-l1-1-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-core-datetime-l1-1-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-core-debug-l1-1-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-core-errorhandling-l1-1-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-core-file-l1-1-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-core-file-l1-2-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-core-file-l2-1-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-core-handle-l1-1-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-core-heap-l1-1-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-core-interlocked-l1-1-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-core-libraryloader-l1-1-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-core-localization-l1-2-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-core-memory-l1-1-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-core-namedpipe-l1-1-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-core-processenvironment-l1-1-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-core-processthreads-l1-1-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-core-processthreads-l1-1-1.dll + Microsoft.VC140.CRT/x64/api-ms-win-core-profile-l1-1-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-core-rtlsupport-l1-1-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-core-string-l1-1-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-core-synch-l1-1-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-core-synch-l1-2-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-core-sysinfo-l1-1-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-core-timezone-l1-1-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-core-util-l1-1-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-crt-conio-l1-1-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-crt-convert-l1-1-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-crt-environment-l1-1-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-crt-filesystem-l1-1-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-crt-heap-l1-1-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-crt-locale-l1-1-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-crt-math-l1-1-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-crt-multibyte-l1-1-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-crt-private-l1-1-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-crt-process-l1-1-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-crt-runtime-l1-1-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-crt-stdio-l1-1-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-crt-string-l1-1-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-crt-time-l1-1-0.dll + Microsoft.VC140.CRT/x64/api-ms-win-crt-utility-l1-1-0.dll + Microsoft.VC140.CRT/x64/concrt140.dll + Microsoft.VC140.CRT/x64/mfc140.dll + Microsoft.VC140.CRT/x64/msvcp140.dll + Microsoft.VC140.CRT/x64/ucrtbase.dll + Microsoft.VC140.CRT/x64/vcomp140.dll + Microsoft.VC140.CRT/x64/vcruntime140.dll + Microsoft.VC90.CRT/x64/msvcm90.dll + Microsoft.VC90.CRT/x64/msvcp90.dll + Microsoft.VC90.CRT/x64/msvcr90.dll + Microsoft.VC90.CRT/x64/vcomp.dll + Microsoft.VC90.MFC/x64/mfc90.dll + ; + +rule msvc-runtime-dlls ( properties * ) +{ + local result ; + if msvc in $(properties) + { + if 64 in $(properties) + { + result = $(PWIZ_ROOT_PATH)/pwiz_tools/Shared/Lib/$(.msvcrt-x64) ; + } + else + { + result = $(PWIZ_ROOT_PATH)/pwiz_tools/Shared/Lib/$(.msvcrt-x86) ; + } + } + return $(result) ; +} + +rule install-msvc-runtime-dlls-requirements ( properties * ) +{ + local result ; + if msvc in $(properties) + { + if 64 in $(properties) + { + result = $(PWIZ_ROOT_PATH)/pwiz_tools/Shared/Lib/$(.msvcrt-x64) ; + } + else + { + result = $(PWIZ_ROOT_PATH)/pwiz_tools/Shared/Lib/$(.msvcrt-x86) ; + } + } + return $(result) ; +} + +install install-msvc-runtime-dlls : : @install-location @install-msvc-runtime-dlls-requirements ; + + # any source tree can build binary tarballs import common ; diff --git a/pwiz_tools/Bumbershoot/idpicker/Deploy/Deploy.wxs.template b/pwiz_tools/Bumbershoot/idpicker/Deploy/Deploy.wxs.template index b9e239fc5a..17fa02ee55 100644 --- a/pwiz_tools/Bumbershoot/idpicker/Deploy/Deploy.wxs.template +++ b/pwiz_tools/Bumbershoot/idpicker/Deploy/Deploy.wxs.template @@ -8,12 +8,12 @@ Manufacturer="Bumbershoot" UpgradeCode="644795C6-012A-49B7-A47F-E46E164D3689"> - + - - + + @@ -30,56 +30,21 @@ - - + + = "#461808")]]> - - - - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - + + + + @@ -122,15 +87,8 @@ - - - - - - - @@ -146,184 +104,108 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + __VENDOR_DLLS__ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + ACTION="INSTALL" AND APPLICATIONFOLDER="" AND (ALLUSERS="" OR (ALLUSERS=2 AND (NOT Privileged))) + ACTION="INSTALL" AND APPLICATIONFOLDER="" AND (ALLUSERS=1 OR (ALLUSERS=2 AND Privileged)) + + + + + ACTION="INSTALL" AND APPLICATIONFOLDER="" AND (ALLUSERS="" OR (ALLUSERS=2 AND (NOT Privileged))) + ACTION="INSTALL" AND APPLICATIONFOLDER="" AND (ALLUSERS=1 OR (ALLUSERS=2 AND Privileged)) + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + 1 + "1"]]> + + !(wix.WixUISupportPerMachine) AND !(wix.WixUISupportPerUser) + !(wix.WixUISupportPerMachine) AND NOT !(wix.WixUISupportPerUser) + + 1 + + !(wix.WixUISupportPerUser) AND NOT Privileged + WixAppFolder = "WixPerUserFolder" + WixAppFolder = "WixPerMachineFolder" + WixAppFolder = "WixPerMachineFolder" + WixAppFolder = "WixPerUserFolder" + WixAppFolder = "WixPerUserFolder" + WixAppFolder = "WixPerMachineFolder" + WixAppFolder = "WixPerUserFolder" + WixAppFolder = "WixPerMachineFolder" + + !(wix.WixUISupportPerUser) + NOT !(wix.WixUISupportPerUser) + 1 + NOT WIXUI_DONTVALIDATEPATH + "1"]]> + WIXUI_DONTVALIDATEPATH OR WIXUI_INSTALLDIR_VALID="1" + 1 + 1 + + 1 + + NOT Installed AND WixAppFolder = "WixPerUserFolder" + NOT Installed AND WixAppFolder = "WixPerMachineFolder" + 1 + 1 + 1 + 1 + + Installed AND NOT PATCH + Installed AND PATCH + + Installed AND PATCH + + + + + diff --git a/pwiz_tools/Bumbershoot/idpicker/Deploy/Jamfile.jam b/pwiz_tools/Bumbershoot/idpicker/Deploy/Jamfile.jam index 0e9521e154..8379c5ca54 100644 --- a/pwiz_tools/Bumbershoot/idpicker/Deploy/Jamfile.jam +++ b/pwiz_tools/Bumbershoot/idpicker/Deploy/Jamfile.jam @@ -104,12 +104,12 @@ rule test_msi ( targets + : sources * : properties * ) if $(address-model) = 64 { ARTIFACT_NAME on $(targets) = IDPicker-$(version-tag:J=.)-x86_64 ; - INSTALL_PATH on $(targets) = "%ProgramW6432%\\Bumbershoot\\IDPicker $(version-tag:J=.) 64-bit" ; + INSTALL_PATH on $(targets) = "%LocalAppData%\\Apps\\IDPicker $(version-tag:J=.) 64-bit" ; } else { ARTIFACT_NAME on $(targets) = IDPicker-$(version-tag:J=.)-x86 ; - INSTALL_PATH on $(targets) = "%ProgramFiles(x86)%\\Bumbershoot\\IDPicker $(version-tag:J=.) 32-bit" ; + INSTALL_PATH on $(targets) = "%LocalAppData%\\Apps\\IDPicker $(version-tag:J=.) 32-bit" ; } LOCATION on $(targets) = [ path.native [ feature.get-values : $(properties) ] ] ; @@ -123,7 +123,7 @@ actions test_msi $(MSVC_CURRENT_SETUP_SCRIPT) echo Installing $(ARTIFACT_NAME)... pushd $(PWIZ_BUILD_PATH) - msiexec /qn /l* $(ARTIFACT_NAME).log /norestart /i $(ARTIFACT_NAME).msi REBOOT=ReallySuppress + start /wait msiexec /qn /l* $(ARTIFACT_NAME).log /norestart /i $(ARTIFACT_NAME).msi REBOOT=ReallySuppress ALLUSERS=2 MSIINSTALLPERUSER=1 set EXIT=%ERRORLEVEL% IF %EXIT% NEQ 0 echo Install failed with code %EXIT%. set status=%EXIT% @@ -140,17 +140,17 @@ actions test_msi set PATH=%PATH_TMP% echo Uninstalling $(ARTIFACT_NAME)... - msiexec /qn /l* $(ARTIFACT_NAME).log /norestart /x $(ARTIFACT_NAME).msi REBOOT=ReallySuppress + start /wait msiexec /qn /l* $(ARTIFACT_NAME).log /norestart /x $(ARTIFACT_NAME).msi REBOOT=ReallySuppress set EXIT=%ERRORLEVEL% IF %TEST_EXIT% NEQ 0 IF %EXIT% NEQ 0 set status=%EXIT% IF %EXIT% NEQ 0 echo Uninstall failed with code %EXIT%. set status=%TEST_EXIT% $(TEST_POSTCOMMAND) - IF %TEST_EXIT% NEQ 0 echo Deployment test passed. - IF %TEST_EXIT% NEQ 0 echo Deployment test passed. > $(LOCATION)\Test.passed + IF %TEST_EXIT% EQU 0 echo Deployment test passed. + IF %TEST_EXIT% EQU 0 echo Deployment test passed. > $(LOCATION)\Test.passed - popd + IF %TEST_EXIT% NEQ 0 exit 1 } make Test.passed diff --git a/pwiz_tools/Bumbershoot/idpicker/Deploy/SetupDeployProject.cs b/pwiz_tools/Bumbershoot/idpicker/Deploy/SetupDeployProject.cs index 0d8eec3c7d..f31736d2e1 100644 --- a/pwiz_tools/Bumbershoot/idpicker/Deploy/SetupDeployProject.cs +++ b/pwiz_tools/Bumbershoot/idpicker/Deploy/SetupDeployProject.cs @@ -53,6 +53,9 @@ static int Main(string[] args) string addressModel = args[4]; string installerSuffix = addressModel == "64" ? "-x86_64" : "-x86"; + var wxsVendorDlls = File.ReadAllText(installPath + "/../../scripts/wix/vendor-dlls.wxs-fragment"); + wxsTemplate.Replace("__VENDOR_DLLS__", wxsVendorDlls); + wxsTemplate.Replace("{ProductGuid}", guid); wxsTemplate.Replace("{version}", version); wxsTemplate.Replace("{numeric-version}", numericVersion); @@ -73,12 +76,6 @@ static int Main(string[] args) wxsTemplate.Replace(sourceCapture.Value, installPath + "\\" + nameCapture.Value); } - var vc141path = Environment.GetEnvironmentVariable("PROGRAMFILES(x86)") + "\\Microsoft Visual Studio\\2017\\"; - vc141path = Directory.GetDirectories(vc141path)[0]; // add edition (Community, Enterprise, etc) to path - vc141path += "\\VC\\Redist\\MSVC\\"; - vc141path = Directory.GetDirectories(vc141path)[0] + "\\MergeModules"; // add runtime version to path (e.g. 14.14.26405) - wxsTemplate = wxsTemplate.Replace("__VC141_MERGEMODULES_PATH__", vc141path); - // delete old wxs files foreach (string filepath in Directory.GetFiles(buildPath, "*.wxs")) File.Delete(filepath); diff --git a/pwiz_tools/Bumbershoot/idpicker/IDPicker.csproj b/pwiz_tools/Bumbershoot/idpicker/IDPicker.csproj index c7e1b9fd30..36c6faccab 100644 --- a/pwiz_tools/Bumbershoot/idpicker/IDPicker.csproj +++ b/pwiz_tools/Bumbershoot/idpicker/IDPicker.csproj @@ -174,10 +174,6 @@ False $(BuildPath)\obj\$(Platform)\$(Configuration)\pwiz_bindings_cli.dll - - packages\SharpSvn.1.9-$(Platform).1.9005.3957.231\lib\net40\SharpSvn.dll - True - @@ -693,7 +689,7 @@ Interop.EDAL.SxS.manifest ..\..\pwiz_aux\msrc\utility\vendor_api\Bruker\$(Platform)\Interop.EDAL.SxS.manifest - + @@ -721,12 +717,12 @@ --> - call "$(VS120COMNTOOLS)vsvars32.bat" >nul + call "$(ProjectDir)..\..\..\libraries\msvc_setup_script.bat" >nul IF $(PlatformName) NEQ "x64" editbin.exe /nologo /LARGEADDRESSAWARE "$(TargetPath)" IF EXIST $(OutDir)setup.exe del $(OutDir)setup.exe IF EXIST $(OutDir)Test.passed del $(OutDir)Test.passed - call "$(VS120COMNTOOLS)vsvars32.bat" >nul -rc.exe $(ProjectDir)/Resources/Resources.rc >nul + call "$(ProjectDir)..\..\..\libraries\msvc_setup_script.bat" >nul +rc.exe $(ProjectDir)Resources\Resources.rc >nul diff --git a/pwiz_tools/Bumbershoot/idpicker/Program.cs b/pwiz_tools/Bumbershoot/idpicker/Program.cs index 73b78fb677..3e98932653 100644 --- a/pwiz_tools/Bumbershoot/idpicker/Program.cs +++ b/pwiz_tools/Bumbershoot/idpicker/Program.cs @@ -35,8 +35,6 @@ using System.Net; using System.Text.RegularExpressions; using IDPicker.Forms; -using SharpSvn; -using SharpSvn.Security; using pwiz.Common.Collections; using System.Security.Policy; @@ -313,7 +311,7 @@ public static bool CheckForUpdates () if (currentVersion < latestVersion) { - System.Collections.ObjectModel.Collection logItems = null; + /*System.Collections.ObjectModel.Collection logItems = null; using (var client = new SvnClient()) { @@ -350,7 +348,8 @@ public static bool CheckForUpdates () } else changeLog = "Technical changes and bug fixes."; - } + }*/ + string changeLog = ""; MainWindow.Invoke(new MethodInvoker(() => { diff --git a/pwiz_tools/Shared/Lib/Microsoft.VC100.CRT/x64/msvcp100.dll b/pwiz_tools/Shared/Lib/Microsoft.VC100.CRT/x64/msvcp100.dll deleted file mode 100644 index 68fa0d31ad..0000000000 Binary files a/pwiz_tools/Shared/Lib/Microsoft.VC100.CRT/x64/msvcp100.dll and /dev/null differ diff --git a/pwiz_tools/Shared/Lib/Microsoft.VC100.CRT/x64/msvcr100.dll b/pwiz_tools/Shared/Lib/Microsoft.VC100.CRT/x64/msvcr100.dll deleted file mode 100644 index 0318fb0964..0000000000 Binary files a/pwiz_tools/Shared/Lib/Microsoft.VC100.CRT/x64/msvcr100.dll and /dev/null differ diff --git a/pwiz_tools/Shared/Lib/Microsoft.VC100.CRT/x86/msvcp100.dll b/pwiz_tools/Shared/Lib/Microsoft.VC100.CRT/x86/msvcp100.dll deleted file mode 100644 index e9eae444e1..0000000000 Binary files a/pwiz_tools/Shared/Lib/Microsoft.VC100.CRT/x86/msvcp100.dll and /dev/null differ diff --git a/pwiz_tools/Shared/Lib/Microsoft.VC100.CRT/x86/msvcr100.dll b/pwiz_tools/Shared/Lib/Microsoft.VC100.CRT/x86/msvcr100.dll deleted file mode 100644 index fd91c89d8b..0000000000 Binary files a/pwiz_tools/Shared/Lib/Microsoft.VC100.CRT/x86/msvcr100.dll and /dev/null differ diff --git a/pwiz_tools/Shared/Lib/Microsoft.VC100.MFC/x64/Microsoft.VC100.MFC.manifest b/pwiz_tools/Shared/Lib/Microsoft.VC100.MFC/x64/Microsoft.VC100.MFC.manifest deleted file mode 100644 index a08d57f288..0000000000 --- a/pwiz_tools/Shared/Lib/Microsoft.VC100.MFC/x64/Microsoft.VC100.MFC.manifest +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - diff --git a/pwiz_tools/Shared/Lib/Microsoft.VC100.MFC/x64/mfc100u.dll b/pwiz_tools/Shared/Lib/Microsoft.VC100.MFC/x64/mfc100u.dll deleted file mode 100644 index 2ef5bcc935..0000000000 Binary files a/pwiz_tools/Shared/Lib/Microsoft.VC100.MFC/x64/mfc100u.dll and /dev/null differ diff --git a/pwiz_tools/Shared/Lib/Microsoft.VC100.MFC/x86/Microsoft.VC100.MFC.manifest b/pwiz_tools/Shared/Lib/Microsoft.VC100.MFC/x86/Microsoft.VC100.MFC.manifest deleted file mode 100644 index 782e15d01e..0000000000 --- a/pwiz_tools/Shared/Lib/Microsoft.VC100.MFC/x86/Microsoft.VC100.MFC.manifest +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - diff --git a/pwiz_tools/Shared/Lib/Microsoft.VC100.MFC/x86/mfc100u.dll b/pwiz_tools/Shared/Lib/Microsoft.VC100.MFC/x86/mfc100u.dll deleted file mode 100644 index 869b8a3e88..0000000000 Binary files a/pwiz_tools/Shared/Lib/Microsoft.VC100.MFC/x86/mfc100u.dll and /dev/null differ diff --git a/pwiz_tools/Shared/Lib/Microsoft.VC110.OPENMP/x64/vcomp110.dll b/pwiz_tools/Shared/Lib/Microsoft.VC110.CRT/x64/vcomp110.dll similarity index 100% rename from pwiz_tools/Shared/Lib/Microsoft.VC110.OPENMP/x64/vcomp110.dll rename to pwiz_tools/Shared/Lib/Microsoft.VC110.CRT/x64/vcomp110.dll diff --git a/pwiz_tools/Shared/Lib/Microsoft.VC110.OPENMP/x86/vcomp110.dll b/pwiz_tools/Shared/Lib/Microsoft.VC110.CRT/x86/vcomp110.dll similarity index 100% rename from pwiz_tools/Shared/Lib/Microsoft.VC110.OPENMP/x86/vcomp110.dll rename to pwiz_tools/Shared/Lib/Microsoft.VC110.CRT/x86/vcomp110.dll diff --git a/pwiz_tools/Shared/Lib/Microsoft.VC140.CRT/x64/concrt140.dll b/pwiz_tools/Shared/Lib/Microsoft.VC140.CRT/x64/concrt140.dll new file mode 100644 index 0000000000..5e510f4aba Binary files /dev/null and b/pwiz_tools/Shared/Lib/Microsoft.VC140.CRT/x64/concrt140.dll differ diff --git a/pwiz_tools/Shared/Lib/Microsoft.VC140.CRT/x64/mfc140.dll b/pwiz_tools/Shared/Lib/Microsoft.VC140.CRT/x64/mfc140.dll new file mode 100644 index 0000000000..32e71f6f1c Binary files /dev/null and b/pwiz_tools/Shared/Lib/Microsoft.VC140.CRT/x64/mfc140.dll differ diff --git a/pwiz_tools/Shared/Lib/Microsoft.VC140.CRT/x86/mfc140.dll b/pwiz_tools/Shared/Lib/Microsoft.VC140.CRT/x86/mfc140.dll new file mode 100644 index 0000000000..c903872725 Binary files /dev/null and b/pwiz_tools/Shared/Lib/Microsoft.VC140.CRT/x86/mfc140.dll differ diff --git a/pwiz_tools/Shared/Lib/Microsoft.VC90.CRT/x64/msvcm90.dll b/pwiz_tools/Shared/Lib/Microsoft.VC90.CRT/x64/msvcm90.dll new file mode 100644 index 0000000000..45fdb911cf Binary files /dev/null and b/pwiz_tools/Shared/Lib/Microsoft.VC90.CRT/x64/msvcm90.dll differ diff --git a/pwiz_tools/Shared/Lib/Microsoft.VC90.CRT/x64/msvcp90.dll b/pwiz_tools/Shared/Lib/Microsoft.VC90.CRT/x64/msvcp90.dll new file mode 100644 index 0000000000..a1727ca557 Binary files /dev/null and b/pwiz_tools/Shared/Lib/Microsoft.VC90.CRT/x64/msvcp90.dll differ diff --git a/pwiz_tools/Shared/Lib/Microsoft.VC90.CRT/x64/msvcr90.dll b/pwiz_tools/Shared/Lib/Microsoft.VC90.CRT/x64/msvcr90.dll new file mode 100644 index 0000000000..0ae568a287 Binary files /dev/null and b/pwiz_tools/Shared/Lib/Microsoft.VC90.CRT/x64/msvcr90.dll differ diff --git a/pwiz_tools/Shared/Lib/Microsoft.VC90.CRT/x64/vcomp.dll b/pwiz_tools/Shared/Lib/Microsoft.VC90.CRT/x64/vcomp.dll new file mode 100644 index 0000000000..40a56d1958 Binary files /dev/null and b/pwiz_tools/Shared/Lib/Microsoft.VC90.CRT/x64/vcomp.dll differ diff --git a/pwiz_tools/Shared/Lib/Microsoft.VC90.CRT/x86/msvcm90.dll b/pwiz_tools/Shared/Lib/Microsoft.VC90.CRT/x86/msvcm90.dll new file mode 100644 index 0000000000..734d86bef7 Binary files /dev/null and b/pwiz_tools/Shared/Lib/Microsoft.VC90.CRT/x86/msvcm90.dll differ diff --git a/pwiz_tools/Shared/Lib/Microsoft.VC90.CRT/x86/msvcp90.dll b/pwiz_tools/Shared/Lib/Microsoft.VC90.CRT/x86/msvcp90.dll new file mode 100644 index 0000000000..70ddf553e8 Binary files /dev/null and b/pwiz_tools/Shared/Lib/Microsoft.VC90.CRT/x86/msvcp90.dll differ diff --git a/pwiz_tools/Shared/Lib/Microsoft.VC90.CRT/x86/msvcr90.dll b/pwiz_tools/Shared/Lib/Microsoft.VC90.CRT/x86/msvcr90.dll new file mode 100644 index 0000000000..072bc0b491 Binary files /dev/null and b/pwiz_tools/Shared/Lib/Microsoft.VC90.CRT/x86/msvcr90.dll differ diff --git a/pwiz_tools/Shared/Lib/Microsoft.VC90.CRT/x86/vcomp90.dll b/pwiz_tools/Shared/Lib/Microsoft.VC90.CRT/x86/vcomp90.dll new file mode 100644 index 0000000000..0c654f7988 Binary files /dev/null and b/pwiz_tools/Shared/Lib/Microsoft.VC90.CRT/x86/vcomp90.dll differ diff --git a/pwiz_tools/Shared/Lib/Microsoft.VC90.MFC/x64/mfc90.dll b/pwiz_tools/Shared/Lib/Microsoft.VC90.MFC/x64/mfc90.dll new file mode 100644 index 0000000000..761c5a4e20 Binary files /dev/null and b/pwiz_tools/Shared/Lib/Microsoft.VC90.MFC/x64/mfc90.dll differ diff --git a/pwiz_tools/Shared/Lib/Microsoft.VC90.MFC/x86/Microsoft.VC90.MFC.manifest b/pwiz_tools/Shared/Lib/Microsoft.VC90.MFC/x86/Microsoft.VC90.MFC.manifest index a214daf7eb..2bb6d4def2 100644 --- a/pwiz_tools/Shared/Lib/Microsoft.VC90.MFC/x86/Microsoft.VC90.MFC.manifest +++ b/pwiz_tools/Shared/Lib/Microsoft.VC90.MFC/x86/Microsoft.VC90.MFC.manifest @@ -5,7 +5,7 @@ diff --git a/pwiz_tools/Shared/Lib/Microsoft.VC90.MFC/x86/mfc90.dll b/pwiz_tools/Shared/Lib/Microsoft.VC90.MFC/x86/mfc90.dll new file mode 100644 index 0000000000..a44a9863be Binary files /dev/null and b/pwiz_tools/Shared/Lib/Microsoft.VC90.MFC/x86/mfc90.dll differ diff --git a/pwiz_tools/Shared/Lib/Microsoft.VC90.MFC/x86/mfc90u.dll b/pwiz_tools/Shared/Lib/Microsoft.VC90.MFC/x86/mfc90u.dll index e569216bd1..a3824f68cf 100644 Binary files a/pwiz_tools/Shared/Lib/Microsoft.VC90.MFC/x86/mfc90u.dll and b/pwiz_tools/Shared/Lib/Microsoft.VC90.MFC/x86/mfc90u.dll differ diff --git a/pwiz_tools/Skyline/Skyline.csproj b/pwiz_tools/Skyline/Skyline.csproj index 128b3d2c88..527a5efcda 100644 --- a/pwiz_tools/Skyline/Skyline.csproj +++ b/pwiz_tools/Skyline/Skyline.csproj @@ -3794,22 +3794,6 @@ - - msvcp100.dll - PreserveNewest - - - msvcr100.dll - PreserveNewest - - - msvcp100.dll - PreserveNewest - - - msvcr100.dll - PreserveNewest - Microsoft.VC90.MFC\mfc90u.dll PreserveNewest @@ -3818,10 +3802,6 @@ Microsoft.VC90.MFC\Microsoft.VC90.MFC.manifest PreserveNewest - - mfc100u.dll - PreserveNewest - msvcp110.dll PreserveNewest @@ -3830,7 +3810,7 @@ msvcr110.dll PreserveNewest - + vcomp110.dll PreserveNewest @@ -3842,7 +3822,7 @@ msvcr110.dll PreserveNewest - + vcomp110.dll PreserveNewest @@ -4900,4 +4880,4 @@ $(ProjectDir)ProtocolBuffers\generatecode.bat - \ No newline at end of file + diff --git a/pwiz_tools/Topograph/TopographApp/TopographApp.csproj b/pwiz_tools/Topograph/TopographApp/TopographApp.csproj index 5a386be3c2..365f276736 100644 --- a/pwiz_tools/Topograph/TopographApp/TopographApp.csproj +++ b/pwiz_tools/Topograph/TopographApp/TopographApp.csproj @@ -861,30 +861,6 @@ - - msvcp100.dll - PreserveNewest - - - msvcp100.dll - PreserveNewest - - - msvcr100.dll - PreserveNewest - - - msvcr100.dll - PreserveNewest - - - mfc100u.dll - PreserveNewest - - - mfc100u.dll - PreserveNewest - api-ms-win-core-console-l1-1-0.dll PreserveNewest @@ -1125,10 +1101,6 @@ msparserD.dll PreserveNewest - - Microsoft.VC100.MFC\Microsoft.VC100.MFC.manifest - PreserveNewest - @@ -1270,4 +1242,4 @@ --> - \ No newline at end of file + diff --git a/scripts/wix/pwiz-setup.py b/scripts/wix/pwiz-setup.py index e99d71731c..7510dd12f0 100644 --- a/scripts/wix/pwiz-setup.py +++ b/scripts/wix/pwiz-setup.py @@ -79,6 +79,9 @@ def contextMenuRegistries() : return registries wxsTemplate = open(templatePath + "/pwiz-setup.wxs.template").read() +wxsVendorDlls = open(templatePath + "/vendor-dlls.wxs-fragment").read() + +wxsTemplate = wxsTemplate.replace("__VENDOR_DLLS__", wxsVendorDlls) wxsTemplate = wxsTemplate.replace("__CONTEXTMENU_PROPERTIES__",contextMenuProperties()) wxsTemplate = wxsTemplate.replace("__CONTEXTMENU_REGISTRY__",contextMenuRegistries()) wxsTemplate = wxsTemplate.replace("__CONTEXTMENU_CHECKBOXEN__",contextMenuOptions()) @@ -87,14 +90,6 @@ def contextMenuRegistries() : wxsTemplate = wxsTemplate.replace("{numeric-version}", numericVersion) wxsTemplate = wxsTemplate.replace("msvc-release", installPath) -# search for VC141 merge modules -vc141path = os.environ['PROGRAMFILES(x86)'] + "\\Microsoft Visual Studio\\2017\\" -vc141path += os.listdir(vc141path)[0] # add edition (Community, Enterprise, etc) to path -vc141path += "\\VC\\Redist\\MSVC\\" -vc141path += os.listdir(vc141path)[0] + "\\MergeModules" -wxsTemplate = wxsTemplate.replace("__VC141_MERGEMODULES_PATH__", vc141path) - - # delete old wxs and wixObj files for filepath in glob.glob(buildPath + "/*.wxs"): os.remove(filepath) diff --git a/scripts/wix/pwiz-setup.wxs.template b/scripts/wix/pwiz-setup.wxs.template index c915db40cb..fab8651d61 100644 --- a/scripts/wix/pwiz-setup.wxs.template +++ b/scripts/wix/pwiz-setup.wxs.template @@ -29,14 +29,16 @@ Manufacturer="ProteoWizard" UpgradeCode="$(var.AddressModel)4795C6-012A-49B7-A47F-E46E164D3689"> - + - - + + + + @@ -44,17 +46,19 @@ + - - - + + + = "#461808")]]> - __CONTEXTMENU_PROPERTIES__ + __CONTEXTMENU_PROPERTIES__ + @@ -69,105 +73,24 @@ __CONTEXTMENU_CHECKBOXEN__ - - - - - - - - - - - - - - - - - - - - 1 - "1"]]> - - 1 - - NOT Installed - Installed AND PATCH - - 1 - 1 - NOT WIXUI_DONTVALIDATEPATH - "1"]]> - WIXUI_DONTVALIDATEPATH OR WIXUI_INSTALLDIR_VALID="1" - 1 - 1 - - 1 - 1 - - - NOT Installed - Installed AND NOT PATCH - Installed AND PATCH - - 1 - - 1 - 1 - 1 - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - + @@ -176,19 +99,19 @@ - - - - - - + + + + + + - - + __CONTEXTMENU_REGISTRY__ - + + @@ -201,210 +124,130 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + __VENDOR_DLLS__ - - - - - - - - - - - - + + + + + + + + + + + + + + + + + ACTION="INSTALL" AND APPLICATIONFOLDER="" AND (ALLUSERS="" OR (ALLUSERS=2 AND (NOT Privileged))) + ACTION="INSTALL" AND APPLICATIONFOLDER="" AND (ALLUSERS=1 OR (ALLUSERS=2 AND Privileged)) + + + + + ACTION="INSTALL" AND APPLICATIONFOLDER="" AND (ALLUSERS="" OR (ALLUSERS=2 AND (NOT Privileged))) + ACTION="INSTALL" AND APPLICATIONFOLDER="" AND (ALLUSERS=1 OR (ALLUSERS=2 AND Privileged)) + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + 1 + "1"]]> + + !(wix.WixUISupportPerMachine) AND !(wix.WixUISupportPerUser) + !(wix.WixUISupportPerMachine) AND NOT !(wix.WixUISupportPerUser) + + 1 + + !(wix.WixUISupportPerUser) AND NOT Privileged + WixAppFolder = "WixPerUserFolder" + WixAppFolder = "WixPerMachineFolder" + WixAppFolder = "WixPerMachineFolder" + WixAppFolder = "WixPerUserFolder" + WixAppFolder = "WixPerUserFolder" + WixAppFolder = "WixPerMachineFolder" + WixAppFolder = "WixPerUserFolder" + WixAppFolder = "WixPerMachineFolder" + + !(wix.WixUISupportPerUser) + NOT !(wix.WixUISupportPerUser) + 1 + NOT WIXUI_DONTVALIDATEPATH + "1"]]> + WIXUI_DONTVALIDATEPATH OR WIXUI_INSTALLDIR_VALID="1" + 1 + 1 + + NOT Installed + Installed AND NOT PATCH + 1 + + 1 + + NOT Installed AND WixAppFolder = "WixPerUserFolder" + NOT Installed AND WixAppFolder = "WixPerMachineFolder" + 1 + 1 + 1 + 1 + + Installed AND NOT PATCH + Installed AND PATCH + + Installed AND PATCH + + + + + diff --git a/scripts/wix/vendor-dlls.wxs-fragment b/scripts/wix/vendor-dlls.wxs-fragment new file mode 100644 index 0000000000..d5025aa094 --- /dev/null +++ b/scripts/wix/vendor-dlls.wxs-fragment @@ -0,0 +1,289 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +