(svn r8916) [0.5] -Codechange (win32): Update the installer, add proper indentation, use MUI throughout and add a custom page about UNICODE and MSLU (remove some obsolete files) 0.5
authorDarkvater
Tue, 27 Feb 2007 15:29:11 +0000
branch0.5
changeset 5453 61bfaa6036eb
parent 5452 ab277a12dab5
child 5454 26572e97b611
(svn r8916) [0.5] -Codechange (win32): Update the installer, add proper indentation, use MUI throughout and add a custom page about UNICODE and MSLU (remove some obsolete files)
os/win32/installer/InstallChoices.ini
os/win32/installer/TTD to OpenTTD Transition Guide.txt
os/win32/installer/cdfinder.ini
os/win32/installer/install.nsi
os/win32/installer/notice.ini
--- a/os/win32/installer/InstallChoices.ini	Tue Feb 27 15:19:36 2007 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-; Ini file generated by the HM NIS Edit IO designer.
-[Settings]
-NumFields=4
-
-[Field 1]
-Type=Button
-Text=Instant Install
-Flags=NOTIFY
-Left=0
-Right=58
-Top=0
-Bottom=15
-
-[Field 2]
-Type=Button
-Text=Advanced Install
-Flags=NOTIFY
-Left=0
-Right=58
-Top=19
-Bottom=35
-
-[Field 3]
-Type=Label
-Text=Install OpenTTD instantly and quickly, no questions asked
-Left=62
-Right=245
-Top=3
-Bottom=11
-
-[Field 4]
-Type=Label
-Text=In case you want to change location, options, Start Menu location, etc
-Left=62
-Right=283
-Top=23
-Bottom=31
-
--- a/os/win32/installer/TTD to OpenTTD Transition Guide.txt	Tue Feb 27 15:19:36 2007 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-TTD to OpenTTD
-Transition Guide
-This guide gives you pointers in making the transition from TTD to OpenTTD.  Once OpenTTD matures more, this guide will grow.  For now, here are the major differences that I’ve seen.
-* Being able to resize the window so that "full-screen" can also show so much more of the land
-* Command Line switches to make things easier
-* Generate Random Land in the scenario editor also builds small towns, forests, and industries
-* A configuration screen that lets you turn on / off TTD Patch features
-Some day, OpenTTD will contain the features of TTD Patch.
-
-Created by RaggieSoft – TallwoodBand@cox.net
-Guide Version: 0.1.1
-Supports OpenTTD Version: 0.2.1
-
-Send your ideas for this document to my email address.  I also maintain an accunt with tt-forums.net.  It's RaggieSoft.
--- a/os/win32/installer/cdfinder.ini	Tue Feb 27 15:19:36 2007 +0000
+++ b/os/win32/installer/cdfinder.ini	Tue Feb 27 15:29:11 2007 +0000
@@ -5,22 +5,22 @@
 [Field 1]
 Type=Groupbox
 Text=Transport Tycoon Deluxe Installation location
-Left=0
-Right=288
+Left=6
+Right=294
 Top=68
 Bottom=100
 
 [Field 2]
 Type=DirRequest
-Left=4
-Right=282
+Left=10
+Right=290
 Top=80
 Bottom=92
 
 [Field 3]
 Type=Label
-Left=13
-Right=278
+Left=17
+Right=282
 Top=6
 Bottom=64
 
--- a/os/win32/installer/install.nsi	Tue Feb 27 15:19:36 2007 +0000
+++ b/os/win32/installer/install.nsi	Tue Feb 27 15:29:11 2007 +0000
@@ -1,8 +1,11 @@
-; Define your application name
-!define APPNAME "OpenTTD"
-!define APPNAMEANDVERSION "OpenTTD 0.5.0.0"
-!define APPVERSION "0.5.0.0"
-!define INSTALLERVERSION 28 ;NEED TO UPDATE THIS FOR EVERY RELEASE!!!
+!define APPNAME "OpenTTD"   ; Define application name
+!define APPVERSION "0.5.0"  ; Define application version
+!define INSTALLERVERSION 28 ; NEED TO UPDATE THIS FOR EVERY RELEASE!!!
+
+!define APPURLLINK "http://www.openttd.org"
+!define APPNAMEANDVERSION "${APPNAME} ${APPVERSION}"
+!define APPVERSIONINTERNAL "${APPVERSION}.0" ; Needs to be of the format X.X.X.X
+
 !define MUI_ICON "..\..\..\openttd.ico"
 !define MUI_UNICON "..\..\..\openttd.ico"
 !define MUI_WELCOMEFINISHPAGE_BITMAP "welcome.bmp"
@@ -14,7 +17,7 @@
 
 ; Version Info
 Var AddWinPrePopulate
-VIProductVersion "${APPVERSION}"
+VIProductVersion "${APPVERSIONINTERNAL}"
 VIAddVersionKey "ProductName" "OpenTTD Installer"
 VIAddVersionKey "Comments" "Installs ${APPNAMEANDVERSION}"
 VIAddVersionKey "CompanyName" "OpenTTD Developers"
@@ -44,18 +47,17 @@
 !define MUI_ABORTWARNING
 
 !insertmacro MUI_PAGE_WELCOME
-LicenseForceSelection radiobuttons "I &accept this Agreement" "I &do not accept this agreement"
 
+!define MUI_LICENSEPAGE_RADIOBUTTONS
+!insertmacro MUI_DEFAULT MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT "I &accept this agreement"
+!insertmacro MUI_DEFAULT MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE "I &do not accept this agreement"
 !insertmacro MUI_PAGE_LICENSE "..\..\..\COPYING"
 
-;--------------------------------
-; Rest of pages
 !insertmacro MUI_PAGE_COMPONENTS
 
-
-;--------------------------------
-; New custom page for finding CD
-Page custom SelectCD SelectCD2 ": TTD folder"
+;---------------------------------
+; Custom page for finding TTDLX CD
+Page custom SelectCDEnter SelectCDExit ": TTD folder"
 
 !insertmacro MUI_PAGE_DIRECTORY
 
@@ -69,9 +71,13 @@
 
 !insertmacro MUI_PAGE_INSTFILES
 
-!define MUI_FINISHPAGE_RUN "$INSTDIR\OpenTTD.exe"
+;-----------------------------------------------------
+; New custom page to show UNICODE and MSLU information
+Page custom ShowWarningsPage
+
+!define MUI_FINISHPAGE_RUN "$INSTDIR\openttd.exe"
 !define MUI_FINISHPAGE_LINK "Visit OpenTTD's homepage"
-!define MUI_FINISHPAGE_LINK_LOCATION "http://www.openttd.org/"
+!define MUI_FINISHPAGE_LINK_LOCATION "${APPURLLINK}"
 !define MUI_FINISHPAGE_NOREBOOTSUPPORT
 !define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\readme.txt"
 !define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
@@ -84,64 +90,63 @@
 !insertmacro MUI_LANGUAGE "English"
 !insertmacro MUI_RESERVEFILE_LANGDLL
 
-;--------------------------------
-; Sections
+;--------------------------------------------------------------
+; (Core) OpenTTD install section. Copies all internal game data
 Section "!OpenTTD" Section1
-
-	; Set Section properties
+	; Overwrite files by default, but don't complain on failure
 	SetOverwrite try
 
 	; Make savegame folder
 	SetOutPath "$INSTDIR\save"
-	; define root variable relative to installer
+	; Define root variable relative to installer
 	!define PATH_ROOT "..\..\..\"
 
 	; Copy language files
-  SetOutPath "$INSTDIR\lang\"
-  File ${PATH_ROOT}lang\*.lng
-  File ${PATH_ROOT}lang\english.txt
+	SetOutPath "$INSTDIR\lang\"
+	File ${PATH_ROOT}lang\*.lng
+	File ${PATH_ROOT}lang\english.txt
 
 	; Copy data files
 	SetOutPath "$INSTDIR\data\"
 	File ${PATH_ROOT}data\*.grf
 	File ${PATH_ROOT}data\opntitle.dat
-  ; Copy scenario files
+	; Copy scenario files (don't choke if they don't exist)
 	SetOutPath "$INSTDIR\scenario\"
-  File ${PATH_ROOT}scenario\*.scn
+	File /nonfatal ${PATH_ROOT}scenario\*.scn
 
 	; Copy the rest of the stuff
 	SetOutPath "$INSTDIR\"
 
-	;Copy text files
-  File ${PATH_ROOT}changelog.txt
-  File ${PATH_ROOT}COPYING
-  File ${PATH_ROOT}readme.txt
-  File ${PATH_ROOT}known-bugs.txt
+	; Copy text files
+	File ${PATH_ROOT}changelog.txt
+	File ${PATH_ROOT}COPYING
+	File ${PATH_ROOT}readme.txt
+	File ${PATH_ROOT}known-bugs.txt
 
 	; Copy executable
-	File /oname=OpenTTD.exe        ${PATH_ROOT}Release\openttd.exe
+	File /oname=openttd.exe ${PATH_ROOT}Release\openttd.exe
 	File ${PATH_ROOT}strgen\Debug\strgen.exe
 
 
-  ; Delete old files from the main dir. they are now placed in data/ and lang/
+	; Delete old files from the main dir. they are now placed in data/ and lang/
 	Delete "$INSTDIR\*.lng"
 	Delete "$INSTDIR\*.grf"
 	Delete "$INSTDIR\sample.cat"
 	Delete "$INSTDIR\ttd.exe"
 
 
-	;Creates the Registry Entries
-	WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "Comments" "Visit http://www.openttd.org"
+	; Create the Registry Entries
+	WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "Comments" "Visit ${APPURLLINK}"
 	WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "DisplayIcon" "$INSTDIR\openttd.exe,0"
 	WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "DisplayName" "OpenTTD ${APPVERSION}"
 	WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "DisplayVersion" "${APPVERSION}"
-	WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "HelpLink" "http://www.openttd.org"
+	WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "HelpLink" "${APPURLLINK}"
 	WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "Install Folder" "$INSTDIR"
 	WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "Publisher" "OpenTTD"
 	WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "Shortcut Folder" "$SHORTCUTS"
 	WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "UninstallString" "$INSTDIR\uninstall.exe"
-	WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "URLInfoAbout" "http://www.openttd.org"
-	;This key sets the Version DWORD that patches will check against
+	WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "URLInfoAbout" "${APPURLLINK}"
+	; This key sets the Version DWORD that new installers will check against
 	WriteRegDWORD HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "Version" ${INSTALLERVERSION}
 
 	!insertmacro MUI_STARTMENU_WRITE_BEGIN "OpenTTD"
@@ -155,11 +160,12 @@
 	!insertmacro MUI_STARTMENU_WRITE_END
 SectionEnd
 
+;----------------------------------------------------------------------------------
+; TTDLX files install section. Copies all needed TTDLX files from CD or install dir
 Section "Copy Game Graphics" Section2
-	; Include files from CD
-	;Let's copy the files from the CD
+	; Let's copy the files with size approximation
 	SetOutPath "$INSTDIR\gm"
-	CopyFiles "$CDDRIVE\gm\*.gm" "$INSTDIR\gm\"
+	CopyFiles "$CDDRIVE\gm\*.gm" "$INSTDIR\gm\" 1028
 	SetOutPath "$INSTDIR\data\"
 	CopyFiles "$CDDRIVE\sample.cat" "$INSTDIR\data\sample.cat" 1566
 	; Copy Windows files
@@ -177,7 +183,8 @@
 	SetOutPath "$INSTDIR\"
 SectionEnd
 
-;----------------------
+;-------------------------------------------
+; Install the uninstaller (option is hidden)
 Section -FinishSection
 	WriteUninstaller "$INSTDIR\uninstall.exe"
 SectionEnd
@@ -188,25 +195,30 @@
 	!insertmacro MUI_DESCRIPTION_TEXT ${Section2} "Copies the game graphics. Requires TTD (for Windows)."
 !insertmacro MUI_FUNCTION_DESCRIPTION_END
 
-;!undef SHORTCUTS
-;Uninstall section
-
-Section Uninstall
-	MessageBox MB_YESNOCANCEL|MB_ICONQUESTION "Would you like to remove the Saved Game Folders located at '$INSTDIR\Save?'  If you choose Yes, your Saved Games will be removed." IDYES RemoveSavedGames IDNO NoRemoveSavedGames
+;-----------------------------------------------
+; Uninstall section, deletes all installed files
+Section "Uninstall"
+	MessageBox MB_YESNO|MB_ICONQUESTION \
+		"Remove the save game folders located at $\"$INSTDIR\save?$\"$\n \
+		If you choose Yes, your saved games will be deleted." \
+		IDYES RemoveSavedGames IDNO NoRemoveSavedGames
 	RemoveSavedGames:
-		Delete "$INSTDIR\Save\AutoSave\*"
-		RMDir "$INSTDIR\Save\AutoSave"
-		Delete "$INSTDIR\Save\*"
-		RMDir "$INSTDIR\Save"
+		Delete "$INSTDIR\save\autosave\*"
+		RMDir "$INSTDIR\save\autosave"
+		Delete "$INSTDIR\save\*"
+		RMDir "$INSTDIR\save"
 	NoRemoveSavedGames:
 
-	MessageBox MB_YESNOCANCEL|MB_ICONQUESTION "Would you like to remove the Scenario Folders located at '$INSTDIR\Scenario?'  If you choose Yes, your Scenarios will be removed." IDYES RemoveScen IDNO NoRemoveScen
+	MessageBox MB_YESNO|MB_ICONQUESTION \
+		"Remove the scenario folders located at $\"$INSTDIR\scenario?$\"$\n \
+		If you choose Yes, your scenarios will be deleted." \
+		IDYES RemoveScen IDNO NoRemoveScen
 	RemoveScen:
-		Delete "$INSTDIR\Scenario\*"
-		RMDir "$INSTDIR\Scenario"
+		Delete "$INSTDIR\scenario\*"
+		RMDir "$INSTDIR\scenario"
 	NoRemoveScen:
 
-	;Remove from registry...
+	; Remove from registry...
 	!insertmacro MUI_STARTMENU_GETFOLDER "OpenTTD" $SHORTCUTS
 	ReadRegStr $SHORTCUTS HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "Shortcut Folder"
 
@@ -239,12 +251,17 @@
 
 	; Data files
 	Delete "$INSTDIR\data\opntitle.dat"
+
+	Delete "$INSTDIR\data\2ccmap.grf"
+	Delete "$INSTDIR\data\airports.grf"
+	Delete "$INSTDIR\data\autorail.grf"
+	Delete "$INSTDIR\data\canalsw.grf"
+	Delete "$INSTDIR\data\dosdummy.grf"
+	Delete "$INSTDIR\data\elrailsw.grf"
 	Delete "$INSTDIR\data\nsignalsw.grf"
 	Delete "$INSTDIR\data\openttd.grf"
-	Delete "$INSTDIR\data\canalsw.grf"
 	Delete "$INSTDIR\data\trkfoundw.grf"
-	Delete "$INSTDIR\data\autorail.grf"
-	Delete "$INSTDIR\data\dosdummy.grf"
+
 	Delete "$INSTDIR\data\sample.cat"
 	; Windows Data files
 	Delete "$INSTDIR\data\trg1r.grf"
@@ -259,10 +276,10 @@
 	Delete "$INSTDIR\data\trgc.grf"
 	Delete "$INSTDIR\data\trgi.grf"
 
-	;Music
+	; Music
 	Delete "$INSTDIR\gm\*.gm"
 
-	;Language files
+	; Language files
 	Delete "$INSTDIR\lang\*.lng"
 	Delete "$INSTDIR\lang\english.txt"
 
@@ -273,89 +290,145 @@
 	RMDir "$INSTDIR\lang"
 	RMDir "$INSTDIR\data"
 	RMDir "$INSTDIR"
+
 SectionEnd
 
-Function SelectCD
+;------------------------------------------------------------
+; Custom page function to find the TTDLX CD/install location
+Function SelectCDEnter
 	SectionGetFlags ${Section2} $0
 	IntOp $1 $0 & 0x80 ; bit 7 set by upgrade, no need to copy files
-	IntCmp $1 1 DoneCD ;upgrade doesn't need copy files
+	IntCmp $1 1 DoneCD ; Upgrade doesn't need copy files
 
 	IntOp $0 $0 & 1
 	IntCmp $0 1 NoAbort
-		Abort
+	Abort
 NoAbort:
 
 	GetTempFileName $R0
 	!insertmacro MUI_HEADER_TEXT "Locate TTD" "Setup needs the location of Transport Tycoon Deluxe in order to continue."
-	File /oname=$R0 CDFinder.ini
+	!insertmacro MUI_INSTALLOPTIONS_EXTRACT_AS "CDFinder.ini" "CDFinder"
+
 	ClearErrors
-	;Now, let's populate $CDDRIVE
+	; Now, let's populate $CDDRIVE
 	ReadRegStr $CDDRIVE HKLM "SOFTWARE\Fish Technology Group\Transport Tycoon Deluxe" "HDPath"
 	IfErrors NoTTD
-	StrCpy $AddWinPrePopulate "Setup has detected your TTD folder.  Don't change the folder.  Simply press Next."
+	StrCpy $AddWinPrePopulate "Setup has detected your TTD folder. Don't change the folder. Simply press Next."
+	!insertmacro MUI_INSTALLOPTIONS_WRITE "CDFinder" "Field 2" "State" $CDDRIVE          ; TTDLX path
 	Goto TruFinish
 NoTTD:
-	StrCpy $CDDRIVE ""
-	StrCpy $AddWinPrePopulate "Setup couldn't find TTD.  Please enter the path where the graphics files from TTD are stored and press Next to continue."
+	StrCpy $AddWinPrePopulate "Setup couldn't find TTD. Please enter the path where the graphics files from TTD are stored and press Next to continue."
 TruFinish:
 	ClearErrors
-	WriteINIStr $R0 "Field 2" "State" $CDDRIVE
-	WriteINIStr $R0 "Field 3" "Text" $AddWinPrePopulate
+	!insertmacro MUI_INSTALLOPTIONS_WRITE "CDFinder" "Field 3" "Text" $AddWinPrePopulate ; Caption
 DoneCD:
-	InstallOptions::dialog $R0
-	Pop $R1
+	; Initialize the dialog *AFTER* we've changed the text otherwise we won't see the changes
+	!insertmacro MUI_INSTALLOPTIONS_INITDIALOG "CDFinder"
+	!insertmacro MUI_INSTALLOPTIONS_SHOW
 FunctionEnd
 
-; Exit from page function
-Function SelectCD2
-	ReadINIStr $CDDRIVE $R0 "Field 2" "State"
-	IfFileExists $CDDRIVE\trgir.grf hasCD ""
-	IfFileExists $CDDRIVE\TRGI.GRF hasCD ""
-	IfFileExists $CDDRIVE\sample.cat "" NoCD
+;----------------------------------------------------------------
+; Custom page function when 'next' is selected for the TTDLX path
+Function SelectCDExit
+	!insertmacro MUI_INSTALLOPTIONS_READ $CDDRIVE "CDFinder" "Field 2" "State"
+	; If trg1r.grf does not exist at the path, retry with DOS version
+	IfFileExists $CDDRIVE\trg1r.grf "" DosCD
+	IfFileExists $CDDRIVE\trgir.grf "" NoCD
+	IfFileExists $CDDRIVE\sample.cat hasCD NoCD
+DosCD:
+	IfFileExists $CDDRIVE\TRG1.GRF "" NoCD
+	IfFileExists $CDDRIVE\TRGI.GRF "" NoCD
+	IfFileExists $CDDRIVE\SAMPLE.CAT hasCD NoCD
 NoCD:
-  MessageBox MB_OK "Setup cannot continue without the Transport Tycoon Deluxe Location!"
-  Abort
+	MessageBox MB_OK "Setup cannot continue without the Transport Tycoon Deluxe Location!"
+	Abort
 hasCD:
 FunctionEnd
 
+;---------------------------------------------------------------------
+; Custom page function to show notices for running OpenTTD
+; We have extracted this custom page as Notice in the .onInit function
+Function ShowWarningsPage
+	!insertmacro MUI_HEADER_TEXT "Installation Complete" "Important notices for OpenTTD usage."
+	!insertmacro MUI_INSTALLOPTIONS_EXTRACT_AS "notice.ini" "Notice"
+	!insertmacro MUI_INSTALLOPTIONS_INITDIALOG "Notice"
+
+	Call GetWindowsVersion
+	Pop $R0
+
+	; Hide the MSLU text if the installer is not run on Win9x systems
+	StrCmp $R0 "winnt" 0 Win9x
+	!insertmacro MUI_INSTALLOPTIONS_READ $R1 "Notice" "Field 1" "HWND" ; MSLU groupbox
+	ShowWindow $R1 0
+	!insertmacro MUI_INSTALLOPTIONS_READ $R1 "Notice" "Field 2" "HWND" ; MSLU text
+	ShowWindow $R1 0
+	!insertmacro MUI_INSTALLOPTIONS_READ $R1 "Notice" "Field 3" "HWND" ; MSLU link
+	ShowWindow $R1 0
+Win9x:
+	ClearErrors
+	!insertmacro MUI_INSTALLOPTIONS_SHOW
+FunctionEnd
+
+;-------------------------------------------------------------------------------
+; Determine windows version, returns "win9x" if Win9x/Me or "winnt" on the stack
+Function GetWindowsVersion
+	ClearErrors
+	StrCpy $R0 "winnt"
+
+	ReadRegStr $R1 HKLM "SOFTWARE\MICROSOFT\WINDOWS NT\CurrentVersion" CurrentVersion
+	IfErrors 0 WinNT
+	StrCpy $R0 "win9x"
+WinNT:
+	ClearErrors
+	Push $R0
+FunctionEnd
 
 Var OLDVERSION
 Var UninstallString
 
+;-----------------------------------------------------------------------------------
+; NSIS Initialize function, determin if we are going to install/upgrade or uninstall
 Function .onInit
 	StrCpy $SHORTCUTS "OpenTTD"
 
 	SectionSetFlags 0 17
 
-	;Starts Setup - let's look for an older version of OpenTTD
+	; Starts Setup - let's look for an older version of OpenTTD
 	ReadRegDWORD $R8 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "Version"
 
 	IfErrors ShowWelcomeMessage ShowUpgradeMessage
 ShowWelcomeMessage:
 	ReadRegStr $R8 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "Version"
-	;In the event someone still has OpenTTD 0.1, this will detect that (that installer used a string instead of dword entry)
+	; In the event someone still has OpenTTD 0.1, this will detect that (that installer used a string instead of dword entry)
 	IfErrors FinishCallback
 
 ShowUpgradeMessage:
 	IntCmp ${INSTALLERVERSION} $R8 VersionsAreEqual InstallerIsOlder  WelcomeToSetup
 WelcomeToSetup:
-	;An older version was found.  Let's let the user know there's an upgrade that will take plce.
+	; An older version was found.  Let's let the user know there's an upgrade that will take place.
 	ReadRegStr $OLDVERSION HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "DisplayVersion"
-	;Gets the older version then displays it in a message box
-	MessageBox MB_OK|MB_ICONINFORMATION "Welcome to ${APPNAMEANDVERSION} Setup.$\n$\nThis will allow you to upgrade from version $OLDVERSION."
+	; Gets the older version then displays it in a message box
+	MessageBox MB_OK|MB_ICONINFORMATION \
+		"Welcome to ${APPNAMEANDVERSION} Setup.$\n \
+		This will allow you to upgrade from version $OLDVERSION."
 	SectionSetFlags ${Section2} 0x80 ; set bit 7
 	Goto FinishCallback
 
 VersionsAreEqual:
 	ReadRegStr $UninstallString HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "UninstallString"
 	IfFileExists "$UninstallString" "" FinishCallback
-	MessageBox MB_YESNO|MB_ICONQUESTION "Setup detected ${APPNAMEANDVERSION} on your system. That's the version this program will install.$\n$\nAre you trying to uninstall it?" IDYES DoUninstall IDNO FinishCallback
-DoUninstall: ;You have the same version as this installer.  This allows you to uninstall.
+	MessageBox MB_YESNO|MB_ICONQUESTION \
+		"Setup detected ${APPNAMEANDVERSION} on your system. That's the version this program will install.$\n \
+		Are you trying to uninstall it?" \
+		IDYES DoUninstall IDNO FinishCallback
+DoUninstall: ; You have the same version as this installer.  This allows you to uninstall.
 	Exec "$UninstallString"
 	Quit
 
 InstallerIsOlder:
-	MessageBox MB_OK|MB_ICONSTOP "You have a newer version of ${APPNAME}.$\n$\nSetup will now exit."
+	MessageBox MB_OK|MB_ICONSTOP \
+		"You have a newer version of ${APPNAME}.$\n \
+		Setup will now exit."
 	Quit
 
 FinishCallback:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/os/win32/installer/notice.ini	Tue Feb 27 15:29:11 2007 +0000
@@ -0,0 +1,54 @@
+; Ini file generated by the HM NIS Edit IO designer.
+[Settings]
+NumFields=6
+
+[Field 1]
+Type=Groupbox
+Text=Notice for Windows 9x/ME users!
+Left=8
+Right=292
+Top=80
+Bottom=138
+
+[Field 2]
+Type=Label
+Text=OpenTTD will not work without the Microsoft Layer for Unicode installed.\r\nDue to licensing issues we cannot bundle this file with the installer. Please download MSLU from the Microsoft website and extract UnicoWS.dll to the same directory as the openttd executabe.
+Left=13
+Right=284
+Top=91
+Bottom=127
+
+[Field 3]
+Type=Link
+Text=Microsoft Layer for Unicode
+State=http://www.microsoft.com/downloads/details.aspx?FamilyId=73BA7BD7-ED06-4F0D-80A4-2A7EEAEE17E2&displaylang=en
+Left=197
+Right=284
+Top=127
+Bottom=135
+
+[Field 4]
+Type=Groupbox
+Text=UNICODE support
+Left=8
+Right=292
+Top=0
+Bottom=75
+
+[Field 5]
+Type=Label
+Text=This version of OpenTTD has support for UNICODE, allowing users to use non-ASCII character sets such as Russian or Japanese.\r\nSelecting such a language will result in an unusable and garbled interface. You will need to specify a font that has support for these characters in openttd.cfg, or alternatively use an appropiate grf file.\r\n\r\nFor more information please refer to the readme or the wiki.
+Left=13
+Right=284
+Top=9
+Bottom=65
+
+[Field 6]
+Type=Link
+Text=OpenTTD wiki
+Left=238
+Right=284
+Top=64
+Bottom=72
+State=http://wiki.openttd.org/index.php/Unicode
+