IExpress Wizard


IExpress Wizard as Editor

Using the IExpress wizard as also an "editor" for SED files would keep learning curve low for creating batch mode automated build process.  The wizard helps the user walk through the main choices to create a basic SED file.  The author could then use an override file to fine tune a build process instead of editing the main SED file they know works.

The wizard has to handle some of the SED sections carefully with the new text format:


Version

[Version]
Class=IExpress
Version=2.5

This section is pretty easy for IExpress to write out and read.  Wizard should warn if it reads in an older version SED that the author likely will what to save the SED as a new name to prevent losing any settings in the old file.

The wizard should also only allow a SED with Class=IExpress to be used as a input file.


Options

[Options]
ExtractOnly=1/0
InstallProgramWindow=1/2/3/4
HideExtractAnimation=1/0
RebootMode=1/2/3
ShowRebootUI=1/0
Locale=
FileList="SampleApp"
Strings="Strings"

This section should also be populated by the wizard based on answers from the Wizard screens.  If there is a current entry in the SED file then the Wizard should default the UI settings for that page to match the SED being used.  Strings and FileList will be the main items of interest for the wizard since it points to the other sections to read data from.


FileList

[SampleApp]
C:\stuff\*.*
C:\Stuff\*.exe
C:\Stuff\data.obj
\\server\share\stuff\*.HTM
C:\msdoc\License.txt

The [FileList] section is tricky because a user could add syntax not directly available in the wizard UI.  For example in version 2.5 we likely will not offer the abilty in the wizard to select whole subdirs or wildcards.  This is valid syntax for more advanced authors which edit the SED file directly.

The wizard will handle this by not touching entries in this section unless a author adds or removes files from the UI in the wizard.  If an author uses the advanced syntax the wizard will not harm the settings unless the user adds/removes a file from the package.

The author can still change reboot modes or prompt text.  If they use the wizard always for FileList population they would never run into this issue.  The user can save the new SED file under a new name and cut and paste [FileList] sections if needed.  More likely though the author would use an override file for the filelist section in the build process.

Note:
In the future we can use different file dialog boxes to cover more of the advanced cases in the UI for the wizard.


Setup (Optional)

If specified earlier in AppLaunched this section will contain a list of applications to start.  Currently, we do not check for return codes from each application.

[Setup]
Setup.exe
App.inf
Config.exe
Final.inf

The wizard UI should allow for selecting multiple EXEs, REG files or INFs to run with a command line added.


Strings

[Strings] ;(Mainly used by localizers)
InstallPrompt="Do you wish to install this Sample App?"
DisplayLicense="License.txt"
AppLaunched="Setup.exe"
      -or-
AppLaunched="#Setup"
EndMessage="Thank you installing Sample App"
PackageName="Sample.exe"
FriendlyName="Microsoft Cool App"