Undocumented InnoScript Hints and Tips
_________________________________________________________________________________________________________________________________________________________________________________ Create a Virgin script FIRST!!!!
To create a Virgin script all you need to do is to do the following:
1 - Create a new project. Go to Files->New InnoScript Project. the Inno Setup Parameters windows will display. Leave the defaults; just exit from this window.
2 - Go to Project Options-> Settings. Select your VB Project File that you will be using to create the script. Exit from this Window.
3 - Press the Create Script button and let InnoScript create the default script so that InnoScript can find what your project is missing.
_________________________________________________________________________________________________________________________________________________________________________________ Creating a Complete Working Script
The very first thing you should do when attempting to create your script is to generate a script with InnoScript untouched by you. This means do not make any additional additions or selections to the script or it may change the way InnoScript generates the output. For example, InnoScript will automatically add JET, VC , MDAC as well as other runtime installations to your script but if you select to add the Automatic OS Updater manually this will remove the other installations. By itself it may be nothing but if you have ComponentOne files in your application, this will cause them not to register properly.
The first rule is to create a virgin script before you attempt to alter it. This will cause a lot less headaches when trying to find out why something does not work.
One of the most important rules is to NOT
use your development machine for TESTING!!!
Download and install a Virtual Machine like Microsoft's Virtual PC 2007 SP1 Oracle's VirtualBox VMware's Virtual Player
_________________________________________________________________________________________________________________________________________________________________________________ Updating Your Template or Language Files After An Update
If you have modified any of your templates for InnoScript, they will not be changed upon installing an update of InnoScript they WILL
be backed up in the AppData location and the new templates and language files will be copied to the user's AppData location. Upon first run of InnoScript the default templates are copied to the AppData location for the user. You would need to edit the template in the AppData location for InnoScript to use it.
The AppData location for the Templates are:
In XP and lesser it will be: \Documents and Settings\YOURUSERNAME\Local Settings\Application Data\Randem Systems\InnoScript\Release\Templates \Documents and Settings\YOURUSERNAME\Local Settings\Application Data\Randem Systems\InnoScript\Release\Templates Backup
In Vista / Windows 7: \Users\YOURUSERNAME\AppData\Local\Randem Systems\InnoScript\Release\Templates \Users\YOURUSERNAME\AppData\Local\Randem Systems\InnoScript\Release\Templates Backup
For the Language files:
In XP and lesser it will be: \Documents and Settings\YOURUSERNAME\Local Settings\Application Data\Randem Systems\InnoScript\Release\Languages \Documents and Settings\YOURUSERNAME\Local Settings\Application Data\Randem Systems\InnoScript\Release\Languages Backup
In Vista / Windows 7: \Users\YOURUSERNAME\AppData\Local\Randem Systems\InnoScript\Release\Languages \Users\YOURUSERNAME\AppData\Local\Randem Systems\InnoScript\Release\Languages Backup
_________________________________________________________________________________________________________________________________________________________________________________ Updating Your UnSafe Files List After An Update
This is basically the same as the templates and language file updates. You should however place all your additions in a separate section of the UnSafe.fil so that on future updates you can just copy the whole section to the new file instead of attempting to find all the updated filenames you placed into the list.
_________________________________________________________________________________________________________________________________________________________________________________ Getting Your Legacy Application to Work in Vista and Windows 7
If you have an legacy application or just one that was not written to Windows standards that Vista and Windows 7 will enforce; you can still get it to install and run properly under Vista and Windows 7. One of the first thing you need to do is to make sure your application has no hard coded file locations or you may be dead in the water... Your application must be able to run anyplace it is installed so your data files should be in the same folder or a folder under where your application is installed and it should run in Vista / Windows 7 with no problems; less of course you change protected registry locations.
To get InnoScript to install your app properly in any OS all you need to do is to add the Legacy
template to your InnoScript project and let InnoScript take care of the rest. InnoScript will detect if the OS is XP and earlier or Vista and greater then install it to the appropriate folder. Mind you this is just a stop gap approach and in XP and lesser your app may not work in a Limited Users Account if installed in the \Program Files\ folder if it writes to that location.
In XP and lesser it will be: \Program Files\YOURCOMPANYNAME\YOURPROJECTNAME\
In Vista / Windows 7: \Users\Public\YOURCOMPANYNAME\YOURPROJECTNAME\
[color=0000ff]Creating a Language File to Convert to Your Language
You can create a Language Template file of the current InnoScript version by editing the InnoScript.ini file which is located in the \Documents and Settings\YOURUSERNAME\Local Settings\Application Data\Randem Systems\InnoScript\Release
folder and changing the parameter in the [InnoScript] section CreateLanguageTemplate=False
The next time you run InnoScript a file named Default.ist.Create will be created in the location \Documents and Settings\YOURUSERNAME\Local Settings\Application Data\Randem Systems\InnoScript\Release\Languages
which containing all the buttons, labels and verbiage that you can translate to your language. In order to obtain all the verbiage you need to show every screen or tab where these objects are shown and they will appear in the output file when you close InnoScript.
You can change the verbiage to your language then rename the file to your corresponding language then InnoScript can use it to show your language when it runs. The object name is on the left of the equal sign and the language verbiage shown will be on the right.
You can also use the language file to adjust the captions on buttons and labels that do not fit quite right on the resolution or size of the screen you are using. You can shorten the verbiage to fit your viewing area.
_________________________________________________________________________________________________________________________________________________________________________________ Creating a Windows Side-By-Side Installation
To create a Windows Side-By-Side (WinSxS) installation for your project in InnoScript you need to do the following:
1 - Start with a complete regular completed InnoScript project (You do not need the WinSxS version of InnoScript).
2 - Run the project in InnoScript so that it will create the WinSxS file list in the WinSxS tab.
3 - Select all the files in the WinSxS to add to the installation (some may not work but we will handle that later).
4 - Go to the Manifest tab to make sure Side-By-Sidevis selected. Select Release or other release type on the Versioning tab.
5 - Go to the Manifest tab to make sure WinSxS is selected.
6 - Create the Script.
In testing your installation one or more dll/ocx that you selected may not work in a WinSxS environment. This you will need to troubleshoot by removing one dll/ocx at a time from your manifest file to see which file is giving you the problem. This will be the file that cannot be used in the manifest and will need to be deployed in the regular fashion.