From d130d7cf105a7e1f2b449d1d49ca8539a22b3dd6 Mon Sep 17 00:00:00 2001 From: "kenneth.skovhede@gmail.com" Date: Wed, 27 Oct 2010 20:11:42 +0000 Subject: [PATCH] Build support for x64 MSI The only difference between x64 and x86 is the default install folder. For some reason the x86 version of the MSI prevents the user from installing to regular "Program Files" on x64 systems. git-svn-id: https://duplicati.googlecode.com/svn/trunk@563 59da171f-624f-0410-aa54-27559c288bec --- BuildTools/WixProjBuilder/Program.cs | 5 ++ .../WixProjBuilder/WixProjBuilder.csproj | 2 +- Installer/Duplicati.wxs | 42 ++++++---- Installer/VS Express build.bat | 12 ++- Installer/WixInstaller.sln | 6 ++ Installer/WixInstaller.wixproj | 21 ++++- Installer/WixProjBuilder.exe | Bin 10752 -> 11264 bytes Installer/incBinFiles.wxs | 79 ++++++++++++++++-- 8 files changed, 140 insertions(+), 27 deletions(-) diff --git a/BuildTools/WixProjBuilder/Program.cs b/BuildTools/WixProjBuilder/Program.cs index 7ac1a0b6f..239007957 100644 --- a/BuildTools/WixProjBuilder/Program.cs +++ b/BuildTools/WixProjBuilder/Program.cs @@ -120,6 +120,11 @@ namespace WixProjBuilder string compile_args = "\"" + string.Join("\" \"", includes.ToArray()) + "\""; compile_args += " -out \"" + objdir.Replace("\\", "\\\\") + "\""; + if (options.ContainsKey("platform") && options["platform"] == "x64") + compile_args += " -dPlatform=x64 -dWin64=yes"; + else + compile_args += " -dPlatform=x86 -dWin64=no"; + int res = Execute( System.IO.Path.Combine(wixpath, "candle.exe"), projdir, diff --git a/BuildTools/WixProjBuilder/WixProjBuilder.csproj b/BuildTools/WixProjBuilder/WixProjBuilder.csproj index ce08237e5..45247421f 100644 --- a/BuildTools/WixProjBuilder/WixProjBuilder.csproj +++ b/BuildTools/WixProjBuilder/WixProjBuilder.csproj @@ -44,7 +44,7 @@ - + CommandLineParser.cs diff --git a/Installer/Duplicati.wxs b/Installer/Duplicati.wxs index b3f11ec28..1bfda4058 100644 --- a/Installer/Duplicati.wxs +++ b/Installer/Duplicati.wxs @@ -3,10 +3,28 @@ - - - + + + + + + + + + + + + + + + + + + + + + @@ -53,19 +71,11 @@ - - - - - - - - - + + + + + diff --git a/Installer/VS Express build.bat b/Installer/VS Express build.bat index 0551d260c..cfc41da59 100644 --- a/Installer/VS Express build.bat +++ b/Installer/VS Express build.bat @@ -34,8 +34,11 @@ xcopy /I /Y /E ..\..\..\..\Duplicati\Localization\Compiled\fr-FR fr-FR xcopy /I /Y /E ..\..\..\..\Duplicati\Localization\Compiled\pt-BR pt-BR cd .. -del ..\Duplicati.msi -del ..\Duplicati.zip +del ..\Duplicati.msi /Q +del ..\Duplicati.x86.msi /Q +del ..\Duplicati.x64.msi /Q +del ..\Duplicati.zip /Q + "%PROGRAMFILES%\7-zip\7z.exe" a -r Duplicati.zip Duplicati @@ -43,7 +46,7 @@ cd ..\.. REM Create incBinFiles.wxs if required REM Does NOT set the FILE_DUPLICATI_MAIN_EXE id on the main file, which is required to build the MSI -if not exist incBinFiles.wxs paraffin -dir bin\Release\Duplicati -groupname DUPLICATIBIN -dirref INSTALLLOCATION -ext .pdb -ext .0 -alias bin\Release\Duplicati -norootdirectory -multiple incBinFiles.wxs +if not exist incBinFiles.wxs paraffin -dir bin\Release\Duplicati -groupname DUPLICATIBIN -dirref INSTALLLOCATION -ext .pdb -ext .0 -alias bin\Release\Duplicati -norootdirectory -multiple -Win64var "$(var.Win64)" incBinFiles.wxs REM Update version if exist incBinFiles.PARAFFIN del incBinFiles.PARAFFIN @@ -52,4 +55,7 @@ if exist incBinFiles.PARAFFIN xcopy /I /Y incBinFiles.PARAFFIN incBinFiles.wxs if exist incBinFiles.PARAFFIN del incBinFiles.PARAFFIN WixProjBuilder.exe --wixpath="C:\Program Files (x86)\Windows Installer XML v3\bin" WixInstaller.wixproj +move "bin\Release\Duplicati.msi" "bin\Release\Duplicati.x86.msi" +WixProjBuilder.exe --wixpath="C:\Program Files (x86)\Windows Installer XML v3\bin" --platform=x64 WixInstaller.wixproj +move "bin\Release\Duplicati.msi" "bin\Release\Duplicati.x64.msi" pause \ No newline at end of file diff --git a/Installer/WixInstaller.sln b/Installer/WixInstaller.sln index dcfbfd50d..f6a139429 100644 --- a/Installer/WixInstaller.sln +++ b/Installer/WixInstaller.sln @@ -5,12 +5,18 @@ Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "WixInstaller", "WixInstalle EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 Debug|x86 = Debug|x86 + Release|x64 = Release|x64 Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {AB757800-A4CB-478B-A359-33786D0E8A9C}.Debug|x64.ActiveCfg = Debug|x64 + {AB757800-A4CB-478B-A359-33786D0E8A9C}.Debug|x64.Build.0 = Debug|x64 {AB757800-A4CB-478B-A359-33786D0E8A9C}.Debug|x86.ActiveCfg = Debug|x86 {AB757800-A4CB-478B-A359-33786D0E8A9C}.Debug|x86.Build.0 = Debug|x86 + {AB757800-A4CB-478B-A359-33786D0E8A9C}.Release|x64.ActiveCfg = Release|x64 + {AB757800-A4CB-478B-A359-33786D0E8A9C}.Release|x64.Build.0 = Release|x64 {AB757800-A4CB-478B-A359-33786D0E8A9C}.Release|x86.ActiveCfg = Release|x86 {AB757800-A4CB-478B-A359-33786D0E8A9C}.Release|x86.Build.0 = Release|x86 EndGlobalSection diff --git a/Installer/WixInstaller.wixproj b/Installer/WixInstaller.wixproj index 271f150d7..79d5b1038 100644 --- a/Installer/WixInstaller.wixproj +++ b/Installer/WixInstaller.wixproj @@ -12,11 +12,30 @@ bin\$(Configuration)\ obj\$(Configuration)\ - Debug + Debug;Win64=no + + bin\$(Configuration)\ obj\$(Configuration)\ + + + Win64=no + + + Debug;Win64=yes + bin\$(Platform)\$(Configuration)\ + obj\$(Platform)\$(Configuration)\ + + + + + bin\$(Platform)\$(Configuration)\ + obj\$(Platform)\$(Configuration)\ + + + Win64=yes diff --git a/Installer/WixProjBuilder.exe b/Installer/WixProjBuilder.exe index 559ac6887003dcd375aa339bab5f47b3122a4ecb..f8e938060013b3564e517520ccc109b1b2212e30 100644 GIT binary patch delta 1580 zcmZn&X^5E6;kD81s1E}aJYZmAicmw9 zCU-F^bApU!V_;xVnY@irp0k00fq{vEfkA8XJw_#k4-O#X7#KXjqO1%JS_}*;L>U+u z!F&d`$s5%THU}^nFf#G8Pi|tiVZ1VVKeHa=(#`LfbyyfHCQEa82Cx@hXJIJFS7cz| z(vgC4lo%Meie9oX6ll0GFmQ?eW7K987Zw#1)fEsFEcyr%w`XAB5*F0v6BI1cWMwGO zfbcnr;#ntWaL5amg2dz)7`PZLwlFd<6s?~;gF}wZ6=dw`$$K~~rQAUJK_;d$2(k+b zgK)keNc#3)ja`xVYHF^F2UrV-wH!1k=p< zUSL{0-y2H%fN8OOUofrV$H2hF&93lZG7Ce#KLZ1o8hd^K0|OT?r*0$z1ABfTNEO39 zRy78OdkhRk(QFI_?D;_q3|#raAp1dq195e1Q7%|61dCizJsU#-6WGPYp$rUMRT^O+ zW04I4dxSk7p&Kj!Qx`rtfLq;pB`AoL85p?4dsP@17`fTS>LM5zxaP9wM}pkK%D}+J zrOm*m#UO3K#1PEDz`)ADAjrVLoFB!&z{R7j!jT_6c^7viW6Wd`9u3<&EDQ|Fbqow1 ztPBhy>Iu$3}cG9F`_$Qa0Yg~5VhBSQ}JbVf_YM{IQrCmG(ei8HRO zXZXvuj8TSR9?MQf6^1n|rx-aIt}vJ|=rM3J+-B5c5N3GKsK+1;CY2e!GU_pCgT;** z7?|`Jtij^mU^19NmPwBxnZcb&k0F~Ogh`K~m?4%)kD;0&jj4;liE%dLTE_E?z6>D@ zn;8!?vNS+4`eYtK-_7BI-K^aC1@W$hrHMJ2C6${WiiNS&3l=csFeEaRFr+c$GZZo8 zGBB`LFqkozFff=aFz7O*Fa)5<+cH4pA+q5NnGAVg^|lO^456cQ^8L?<6L;o<~edUj4Z4SOiY`v$$K%T zFfhOhTu>2L&cMLn;=sV*qQt-u6zmeb<)@(EMZbIg3*@gJ`pj*x7F5W&SjD*HCzs}? z=9Lu3q?8uqWF{w;WX2Ta7nLL?<)rEsmllB7F;1nKIVmCe`8matV-)p-oJsd&Y?d F>;S99EJpwU delta 1305 zcmZpOXb73m;kCCdz>5J29xyO5ax-!;FeorEFmONw@7Xgz_zobx1BA`Qz`z3HG9YM% zhKZN-_DEw!R>nps*k} zh|CvcVBpelVPN1Ya-Ph=X({E(z`zAIC6z&tT~HW=!D@o7#Qv`Fce*8Whh|J4`g8A$`1lLz#c?^T@hRK6f75vMXu;OD?% ze#GQo+;Uuz3=CX6+A19RQInN;A{nD6*YIfAUSVNiP_AQOaA0L%;9zH9P!29B%FIhI z1|>WX9tH*-HUAxzCgU$w z3kFR_em0PZ7MOHlvt_VkOkk^Jv}8r=)1%3uq#jLA&0q9fq}uo zo`Jzak%1v7*dA?l1e@+rvapZdSJg Autogenerated by Paraffin - Wintellect - John Robbins - john@wintellect.com Manual changes to this file may cause incorrect behavior. - 12-05-2010 12:05 + 25-10-2010 09:55 2 DUPLICATIBIN bin\Release\Duplicati\ bin\Release\Duplicati\ - + $(var.Win64) true false true @@ -23,18 +23,27 @@ + + + + - + + + + + + @@ -47,10 +56,13 @@ + + + @@ -60,19 +72,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - +