PDA

View Full Version : Bootstrapper


josec
07-05-2007, 01:16 PM
I am not exactly sure how the bootstrapper should work, but it seems like it will create a setup.exe file to go along with the setup.msi. In the boostrapper properties, on the "Settings" tab there are a few choices. The first one seems like it will put the .msi inside the setup.exe file ("Embed in bootstrap executable"), so there will only be one setup.exe file. The 2nd choice is to make both, an .exe and an .msi ("External to (beside) bootstrap executable").

However, with either choice, I never get an .exe file... but I do get a good .msi that works properly (runs the full installation).

In the Build Properties, my output name is "setup", so the "Output filenames" are setup.msi and setup.exe". I select the "Standard" bootstrap option radio button and click "Edit". I have built setups with the two settings I listed in the first paragraph, but I do not get an exe. I do receive validation errors during the ICE validation (error 5002), but most of them do not apply to me or can be ignored (from previous postings). Attached is the build log. Could the Error 5002 be ending the build before the bootstrap exe is built?

Thanks!

Brett
07-05-2007, 02:02 PM
Yes, I imagine that the two ICE errors:

light.exe : error LGHT0204 : ICE99: The directory name: PrimaryVolumePath is the same as one of the MSI Public Properties and can cause unforeseen side effects.
light.exe : error LGHT0204 : ICE99: The directory name: WindowsVolume is the same as one of the MSI Public Properties and can cause unforeseen side effects.

Are causing the bootstrapper not to build. You should try and eliminate those errors (the warnings should not be a problem). I imagine that either the Jet or MDAC modules are causing the problem.

Another solution would be to supress that ICE validation. To do that:

- Select Build > Settings from the menu and then select the Options tab
- In the Additional linker options, enter: -sice:99

You can even supress all validation using -sval in the Additonal linker options.

josec
07-05-2007, 02:56 PM
Thanks, Brett. Here's a silly question... when you "suppress" the ICE validation, does that mean the the validation does not take place? or it just suppresses the reporting of the errors? So, to take that a little further, if the installer is not aware of the validation errors, it may go ahead and build the bootstrapper exe? (because validation was suppressed/not done) and would it work properly? I'll give it a try.

Also -
You should try and eliminate those errors (the warnings should not be a problem). I imagine that either the Jet or MDAC modules are causing the problem.


I would not even know where to begin :) I'll turn over a few rocks and see what I can find... the Jet and MDAC are from another vendors merge files - so that would be a good place to start. I noticed updated merge files that came with today's update - that merge file update solved my MFC42 issue.

-- Thanks --

josec
07-06-2007, 09:35 AM
Suppressing all validation (-sval) allows the creation of the bootstrapper exe. However, the -sice:99 does not suppress the ICE99 error, and the -sice:09 doesn't suppress the "non-permanent" error. Any ideas why not?

Also, I have been trying to get a consistent opinion on making the components that are loaded to the System directory permanent (ICE09). I don't like the idea of not cleaning them up during uninstall. I'd prefer to set the counter and leave it at that. Is there any really good reason to make them permanent as opposed to not?

Thanks-