SCIF 2.0 Specification - Design Change Requests

3.3.1.1 Ability for user to choose alternative source files / destination paths during install

Issue Description:

(Work Item 3713 - http://scif.codeplex.com/WorkItem/View.aspx?WorkItemId=3713)
Right now, the installation process has a fixed destination for all drivers, packages, boot images, etc. that can only be changed by modifying the installer XML files. Unfortunately, even if the user was knowledgeable enough to do that, they cannot edit the files because they are packed inside the MSI.

(Work Item 3714: http://scif.codeplex.com/WorkItem/View.aspx?WorkItemId=3714)
In the current installation process, the user is not given a choice for the starting base .wim file used to create the OEM kit's boot image. Either the image is the current base SCCM boot image, or it is a new boot image created from the existing wim file in the WAIK.

Users need to be able to choose the boot wim file that is used to create the OEM boot image because they may have made a number of customizations to that boot image and do not want to have to recreate them in the new OEM boot image. Or, users may want to install the OSD kits from several OEMs, and it makes sense to have a master boot image for all OEMs.

Change Needed:

Source paths / files: A step should be added to the installation wizard that allows the user to alternatively select a source file for each boot image to be created.
Destination paths: The installation process should allow the user to choose the intended destination path for files related to the different features of the installation.

Change Description:

During installation, certain properties are set by the InstallShield code, including path variables that can be utilized in scripts. These variables will be exported to an XML file during installation, and the installer code will check for the existence of that file when it runs, and if it exists and contains any changes to its existing specified paths or other information specified in the installer XML files, it will modify those directives on the fly.

The method signature to call the ObjectInstaller class will add another overload that contains this additional XML file path as a variable. When this parameter is specified and the XML file is found, it will be searched for specific elements (defined in the standard XML installer schema) and the replacement of variables (if any) will be done based on what it finds.

Example Scenario:

  • During installation, the user selects a different path for their driver files.
  • An InstallShield InstallScript function is used to export all relevant user-selectable properties to an XML file named “vars.xml”.
  • An InstallScript function is used to call the ObjectInstaller class with the following:
retVal = ProcessSccmObjects("install_*.xml", "InstallSccmComponents", hMSI, "vars.xml");
  • The ObjectInstaller code loads the vars.xml file and parses it as needed to determine if any modifications need to be made to paths or other information used during installation processes.

Last edited Sep 3, 2009 at 8:48 PM by rhearn, version 1

Comments

No comments yet.