From 4ba5f23fc7bfa49c6469e88dd345986d0659f932 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Sun, 14 Nov 2010 18:39:53 +0100 Subject: [PATCH] Added missing templates to setup --- src/Setup/Files.wxs | 287 ++++++++++++++++++++------------------------ src/Setup/Setup.wxs | 23 +--- 2 files changed, 129 insertions(+), 181 deletions(-) diff --git a/src/Setup/Files.wxs b/src/Setup/Files.wxs index 03e97d6baf..ea1397e12f 100644 --- a/src/Setup/Files.wxs +++ b/src/Setup/Files.wxs @@ -10,72 +10,72 @@ + NGens SharpDevelop.exe. Needs the NetFx extension (WixNetFxExtension.dll), + library (netfx.wixlib) and custom actions (netfxca.dll). + + Priority=0 means the image generation occurs during + setup. Other values defer the generation. + + Default Platform value is 32bit which tries to generate images + for 32 bitversions of the .NET framework on the + target machine. This will fail on a machine with + 64 bit version of .NET. Cannot use Platform=all + since this runs NGen for both 32 and 64 bit versions + regardless of whether they exist on the target + machine. + --> + Get several ICE33 warnings using the ProgId element + but these apparently can safely be ignored + according to a post on the wix-users list by + Rob Mencshing. Also using the ProgId element + does not create the ProgId table. The current installer + no longer uses the ProgId but instead uses Registry + keys instead. It still creates the same entries in the + msi. + + http://sourceforge.net/mailarchive/message.php?msg_id=9075241 + + Note that the Target of the form [#FileId] expands out to the + full path of the file. A target of the form [!FileId] + expands to the short name of the file (i.e. it includes ~ + characters). We need the full path otherwise the exe name + will be something like SharpDev~1.exe and the + SharpDevelop.exe.manifest file will not be found when + running the application so it does not use XP visual styles. + Unfortunately using [#FileId] generates lots of ICE69 + warnings for the icon and the SharpDevelop.exe target + if they are in a different component. + Not sure why [!FileId] does not produce an error since + the problem seems to be similar, basically the registry + key generated by the ProgId element belongs to one + component whilst we are referencing another component + containing the SharpDevelop.exe and another + containing the icon. + + http://msdn.microsoft.com/library/en-us/msi/setup/ice69.asp + + The ICE69 errors can be ignored for now since the component + being referenced by the file associations will always be installed + even though it is in a different feature. If the FileTypeRegister + addin is an optional install then the ICE69 errors would need to + be resolved. + + We are not using the ProgId element which sets up the + file association registry keys for us, but are specifying them + directly as registry keys. This allows us to use one of the keys + as a key path instead of having to use the parent component's + directory as the key path. The key path is what is used + by the installer to detect whether the component is installed. + Using the component's parent directory (i.e. the Bin folder) + is not feasible since the file associations may not be installed + if the user does not install them in the feature tree. + --> @@ -696,71 +696,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -816,6 +774,17 @@ + + + + + + + + + + + @@ -1500,50 +1469,50 @@ + The choice here is to either useW the IniFile element to + generate the two website shortcuts or create a + SharpDevelop.url file on disk and use a File element and + link to the file instead. We will use a file otherwise an + upgrade will not remove the existing website shortcut. + --> + ICE18 - Force the empty folder to be created. Even though it + has sub folders the validator flags this as an error. + + http://msdn.microsoft.com/library/en-us/msi/setup/ice18.asp + --> + App Path registry setting lives in HKLM so only add it if the + user has admin rights. + --> Privileged + Dummy components that are empty. These are used so + the feature tree does not show the Network installation + as an option. + --> + Fix ICE18 error. The validator thinks that the install folder + could be empty so we have to use CreateFolder in this component. + + http://msdn.microsoft.com/library/en-us/msi/setup/ice18.asp + --> + Fix ICE18 error. The validator thinks that the install folder + could be empty so we have to use CreateFolder in this component. + + http://msdn.microsoft.com/library/en-us/msi/setup/ice18.asp + --> @@ -1553,9 +1522,9 @@ + Fix ICE 38 by adding a dummy registry key that is the key for this shortcut. + http://msdn.microsoft.com/library/en-us/msi/setup/ice38.asp + --> @@ -1564,9 +1533,9 @@ + Fix ICE 38 by adding a dummy registry key that is the key for this shortcut. + http://msdn.microsoft.com/library/en-us/msi/setup/ice38.asp + --> diff --git a/src/Setup/Setup.wxs b/src/Setup/Setup.wxs index c21980c5c1..daa5a9149f 100644 --- a/src/Setup/Setup.wxs +++ b/src/Setup/Setup.wxs @@ -274,28 +274,7 @@ - - - - - - - - - - - - - - - - - - - - - - +