[Slim-Checkins] r11856 - in /trunk: ./ platforms/win32/ platforms/win32/installer/ server/
dean at svn.slimdevices.com
dean at svn.slimdevices.com
Sun Apr 29 15:31:14 PDT 2007
Author: dean
Date: Sun Apr 29 15:31:14 2007
New Revision: 11856
URL: http://svn.slimdevices.com?rev=11856&view=rev
Log:
Merge 11855 from branch 6.5 to add internationalization to the windows installer
Added:
trunk/platforms/win32/Getting Started.de.html
- copied unchanged from r11855, branches/6.5/platforms/win32/Getting Started.de.html
trunk/platforms/win32/Getting Started.es.html
- copied unchanged from r11855, branches/6.5/platforms/win32/Getting Started.es.html
trunk/platforms/win32/Getting Started.fr.html
- copied unchanged from r11855, branches/6.5/platforms/win32/Getting Started.fr.html
trunk/platforms/win32/Getting Started.he.html
- copied unchanged from r11855, branches/6.5/platforms/win32/Getting Started.he.html
trunk/platforms/win32/Getting Started.it.html
- copied unchanged from r11855, branches/6.5/platforms/win32/Getting Started.it.html
trunk/platforms/win32/Getting Started.nl.html
- copied unchanged from r11855, branches/6.5/platforms/win32/Getting Started.nl.html
trunk/platforms/win32/installer/Dutch.isl
- copied unchanged from r11855, branches/6.5/platforms/win32/installer/Dutch.isl
trunk/platforms/win32/installer/English.isl
- copied unchanged from r11855, branches/6.5/platforms/win32/installer/English.isl
trunk/platforms/win32/installer/French.isl
- copied unchanged from r11855, branches/6.5/platforms/win32/installer/French.isl
trunk/platforms/win32/installer/German.isl
- copied unchanged from r11855, branches/6.5/platforms/win32/installer/German.isl
trunk/platforms/win32/installer/Hebrew.isl
- copied unchanged from r11855, branches/6.5/platforms/win32/installer/Hebrew.isl
trunk/platforms/win32/installer/Italian.isl
- copied unchanged from r11855, branches/6.5/platforms/win32/installer/Italian.isl
trunk/platforms/win32/installer/Spanish.isl
- copied unchanged from r11855, branches/6.5/platforms/win32/installer/Spanish.isl
trunk/platforms/win32/installer/strings.iss
- copied unchanged from r11855, branches/6.5/platforms/win32/installer/strings.iss
trunk/server/License.de.txt
- copied unchanged from r11855, branches/6.5/server/License.de.txt
trunk/server/License.es.txt
- copied unchanged from r11855, branches/6.5/server/License.es.txt
trunk/server/License.fr.txt
- copied unchanged from r11855, branches/6.5/server/License.fr.txt
trunk/server/License.he.txt
- copied unchanged from r11855, branches/6.5/server/License.he.txt
trunk/server/License.it.txt
- copied unchanged from r11855, branches/6.5/server/License.it.txt
trunk/server/License.nl.txt
- copied unchanged from r11855, branches/6.5/server/License.nl.txt
Removed:
trunk/platforms/win32/ReadMe.txt
Modified:
trunk/makerelease.pl
trunk/platforms/win32/installer/SlimServer.iss
trunk/server/Changelog6.html
Modified: trunk/makerelease.pl
URL: http://svn.slimdevices.com/trunk/makerelease.pl?rev=11856&r1=11855&r2=11856&view=diff
==============================================================================
--- trunk/makerelease.pl (original)
+++ trunk/makerelease.pl Sun Apr 29 15:31:14 2007
@@ -284,6 +284,8 @@
print "Building Windows directory...\n";
my $winserverdir = "build";
+ my $perlpath = 'C:\\perl\\bin\\perl.exe';
+
if (-d $winserverdir) {
print "Deleting original win build dir: $winserverdir\n";
rmtree($winserverdir);
@@ -295,10 +297,24 @@
removeDirectoriesNotMatching("$sourcecopy/Bin", 'MSWin32');
removeDirectoriesNotMatching("$sourcecopy/CPAN/arch/5.8", 'MSWin32');
+ copy("$source/server/CHANGELOG.html", "$winserverdir/Release Notes.html");
`cp -R $sourcecopy "$winserverdir/server"`;
+
copy("$source/platforms/win32/Getting Started.html", "$winserverdir");
- copy("$source/server/CHANGELOG.html", "$winserverdir/Release Notes.html");
- copy("$source/server/license.txt", "$winserverdir/License.txt");
+ copy("$source/platforms/win32/Getting Started.de.html", "$winserverdir");
+ copy("$source/platforms/win32/Getting Started.es.html", "$winserverdir");
+ copy("$source/platforms/win32/Getting Started.fr.html", "$winserverdir");
+ copy("$source/platforms/win32/Getting Started.he.html", "$winserverdir");
+ copy("$source/platforms/win32/Getting Started.it.html", "$winserverdir");
+ copy("$source/platforms/win32/Getting Started.nl.html", "$winserverdir");
+
+ copy("$source/server/License.txt", "$winserverdir");
+ copy("$source/server/License.de.txt", "$winserverdir");
+ copy("$source/server/License.es.txt", "$winserverdir");
+ copy("$source/server/License.fr.txt", "$winserverdir");
+ copy("$source/server/License.he.txt", "$winserverdir");
+ copy("$source/server/License.it.txt", "$winserverdir");
+ copy("$source/server/License.nl.txt", "$winserverdir");
copy("$source/docs/squeezebox3/Squeezebox-v3-Owners-Guide.pdf", "$winserverdir/Squeezebox-Owners-Guide.pdf");
@@ -311,7 +327,7 @@
../../server/CPAN/arch/5.8/MSWin32-x86-multi-thread/auto
));
- print `cd $source/platforms/win32; perltray --trim unicore:: --force --singleton --lib "$libpaths" --verbose --icon "res/SlimServer.ICO;res/SlimServerOff.ICO" SlimTray.pl; cd ../..`;
+ print `cd $source/platforms/win32; perltray --perl "$perlpath" --trim unicore:: --force --singleton --lib "$libpaths" --icon "res/SlimServer.ICO;res/SlimServerOff.ICO" SlimTray.pl; cd ../..`;
move("$source/platforms/win32/SlimTray.exe", "$winserverdir/SlimTray.exe");
rmsvn($winserverdir);
@@ -326,23 +342,45 @@
lib
));
- print `cd $source/server; perlsvc --lib "$libpaths" --verbose --add Compress::Zlib --force slimserver.pl; cd ..`;
+ print `cd $source/server; perlsvc --perl "$perlpath" --lib "$libpaths" --add Compress::Zlib --force slimserver.pl; cd ..`;
move("$source/server/slimserver.exe", "$winserverdir/server/slim.exe");
print "Making scanner executable...\n";
- print `cd $source/server; perlapp --lib "$libpaths" --verbose --force scanner.pl; cd ..`;
+ print `cd $source/server; perlapp --perl "$perlpath" --lib "$libpaths" --force scanner.pl; cd ..`;
move("$source/server/scanner.exe", "$winserverdir/server/scanner.exe");
print "Making installer...\n";
copy("$source/platforms/win32/installer/SlimServer.iss", "$winserverdir");
+
+ copy("$source/platforms/win32/installer/strings.iss", "$winserverdir");
+
+ copy("$source/platforms/win32/installer/English.isl", "$winserverdir");
+ copy("$source/platforms/win32/installer/Hebrew.isl", "$winserverdir");
+ copy("$source/platforms/win32/installer/Italian.isl", "$winserverdir");
+ copy("$source/platforms/win32/installer/French.isl", "$winserverdir");
+ copy("$source/platforms/win32/installer/Spanish.isl", "$winserverdir");
+ copy("$source/platforms/win32/installer/Dutch.isl", "$winserverdir");
+ copy("$source/platforms/win32/installer/German.isl", "$winserverdir");
+
+
+ copy("$source/platforms/win32/installer/English.isl", "$winserverdir");
copy("$source/platforms/win32/installer/slim.bmp", "$winserverdir");
- print `"c:/Program Files/Inno Setup 4/ISCC.exe" "$winserverdir/SlimServer.iss"`;
+ print `"c:/Program Files/Inno Setup 5/ISCC.exe" "$winserverdir/SlimServer.iss"`;
unlink("$winserverdir/SlimServer.iss");
unlink("$winserverdir/slim.bmp");
-
+ unlink("$winserverdir/strings.iss");
+
+ unlink("$winserverdir/English.isl");
+ unlink("$winserverdir/Hebrew.isl");
+ unlink("$winserverdir/Italian.isl");
+ unlink("$winserverdir/French.isl");
+ unlink("$winserverdir/Spanish.isl");
+ unlink("$winserverdir/Dutch.isl");
+ unlink("$winserverdir/German.isl");
+
move($winserverdir, "$distdir/SlimServer for Windows");
$winserverdir = "$distdir/SlimServer for Windows";
Modified: trunk/platforms/win32/installer/SlimServer.iss
URL: http://svn.slimdevices.com/trunk/platforms/win32/installer/SlimServer.iss?rev=11856&r1=11855&r2=11856&view=diff
==============================================================================
--- trunk/platforms/win32/installer/SlimServer.iss (original)
+++ trunk/platforms/win32/installer/SlimServer.iss Sun Apr 29 15:31:14 2007
@@ -6,6 +6,26 @@
; Script by Chris Eastwood, January 2003 - http://www.vbcodelibrary.co.uk
;
+[Setup]
+; Uncomment the following line to disable the "Select Setup Language"
+; dialog and have it rely solely on auto-detection.
+;ShowLanguageDialog=no
+; If you want all languages to be listed in the "Select Setup Language"
+; dialog, even those that can't be displayed in the active code page,
+; uncomment the following line.
+;ShowUndisplayableLanguages=yes
+
+[Languages]
+Name: en; MessagesFile: "English.isl"
+Name: nl; MessagesFile: "Dutch.isl"
+Name: de; MessagesFile: "German.isl"
+Name: es; MessagesFile: "Spanish.isl"
+Name: fr; MessagesFile: "French.isl"
+Name: it; MessagesFile: "Italian.isl"
+Name: he; MessagesFile: "Hebrew.isl"
+
+[CustomMessages]
+#include "strings.iss"
[Setup]
AppName=SlimServer
@@ -33,16 +53,30 @@
;
[Tasks]
-Name: desktopicon; Description: Create a &desktop icon; GroupDescription: Additional icons:
-Name: quicklaunchicon; Description: Create a &Quick Launch icon; GroupDescription: Additional icons:; Flags: unchecked
+Name: desktopicon; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"
+Name: quicklaunchicon; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
Source: SlimTray.exe; DestDir: {app}; Flags: replacesameversion
-Source: Getting Started.html; DestDir: {app}
Source: Release Notes.html; DestDir: {app}
-Source: License.txt; DestDir: {app}
+
+Source: Getting Started.html; DestName: "{cm:GettingStarted}.html"; DestDir: {app}; Languages: en; Flags: isreadme
+Source: Getting Started.de.html; DestName: "{cm:GettingStarted}.html"; DestDir: {app}; Languages: de; Flags: isreadme
+Source: Getting Started.nl.html; DestName: "{cm:GettingStarted}.html"; DestDir: {app}; Languages: nl; Flags: isreadme
+Source: Getting Started.fr.html; DestName: "{cm:GettingStarted}.html"; DestDir: {app}; Languages: fr; Flags: isreadme
+Source: Getting Started.it.html; DestName: "{cm:GettingStarted}.html"; DestDir: {app}; Languages: it; Flags: isreadme
+Source: Getting Started.es.html; DestName: "{cm:GettingStarted}.html"; DestDir: {app}; Languages: es; Flags: isreadme
+Source: Getting Started.he.html; DestName: "{cm:GettingStarted}.html"; DestDir: {app}; Languages: he; Flags: isreadme
+
+Source: License.txt; DestName: "{cm:License}.txt"; DestDir: {app}; Languages: en
+Source: License.de.txt; DestName: "{cm:License}.txt"; DestDir: {app}; Languages: de
+Source: License.nl.txt; DestName: "{cm:License}.txt"; DestDir: {app}; Languages: nl
+Source: License.fr.txt; DestName: "{cm:License}.txt"; DestDir: {app}; Languages: fr
+Source: License.it.txt; DestName: "{cm:License}.txt"; DestDir: {app}; Languages: it
+Source: License.es.txt; DestName: "{cm:License}.txt"; DestDir: {app}; Languages: es
+Source: License.he.txt; DestName: "{cm:License}.txt"; DestDir: {app}; Languages: he
+
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
-
;
; Next line takes everything from the source '\server' directory and copies it into the setup
; it's output into the same location from the users choice.
@@ -51,18 +85,18 @@
Source: server\*.*; DestDir: {app}\server; Excludes: "*freebsd*,*openbsd*,*darwin*,*linux*,*solaris*,*cygwin*"; Flags: comparetimestamp recursesubdirs
[INI]
-Filename: {app}\Slim Devices Web Site.url; Section: InternetShortcut; Key: URL; String: http://www.slimdevices.com; Flags: uninsdeletesection
-Filename: {app}\SlimServer Web Interface.url; Section: InternetShortcut; Key: URL; String: http://localhost:9000; Flags: uninsdeletesection
+Filename: {app}\{cm:SlimDevicesWebSite}.url; Section: InternetShortcut; Key: URL; String: http://www.slimdevices.com; Flags: uninsdeletesection
+Filename: {app}\{cm:SlimServerWebInterface}.url; Section: InternetShortcut; Key: URL; String: http://localhost:9000; Flags: uninsdeletesection
[Icons]
Name: {group}\SlimServer; Filename: {app}\SlimTray.exe; Parameters: "--start"; WorkingDir: "{app}";
-Name: {group}\Slim Devices Web Site; Filename: {app}\Slim Devices Web Site.url
-Name: {group}\License; Filename: {app}\License.txt
-Name: {group}\Getting Started; Filename: {app}\Getting Started.html
-Name: {group}\Uninstall SlimServer; Filename: {uninstallexe}
+Name: {group}\{cm:SlimDevicesWebSite}; Filename: {app}\{cm:SlimDevicesWebSite}.url
+Name: {group}\{cm:License}; Filename: {app}\{cm:License}.txt
+Name: {group}\{cm:GettingStarted}; Filename: {app}\{cm:GettingStarted}.html
+Name: {group}\{cm:UninstallSlimServer}; Filename: {uninstallexe}
Name: {userdesktop}\SlimServer; Filename: {app}\SlimTray.exe; Parameters: "--start"; WorkingDir: "{app}"; Tasks: desktopicon
Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\SlimServer; Filename: {app}\SlimTray.exe; Parameters: "--start"; WorkingDir: "{app}"; Tasks: quicklaunchicon
-Name: {commonstartup}\SlimServer Tray Tool; Filename: {app}\SlimTray.exe; WorkingDir: "{app}"
+Name: {commonstartup}\{cm:SlimServerTrayTool}; Filename: {app}\SlimTray.exe; WorkingDir: "{app}"
[Registry]
;
@@ -74,8 +108,7 @@
Root: HKLM; Subkey: SOFTWARE\SlimDevices\SlimServer; ValueType: string; ValueName: Path; ValueData: {app}; MinVersion: 0,5.01
[Run]
-Filename: {app}\SlimTray.exe; Description: Launch SlimServer application; WorkingDir: "{app}"; Flags: nowait skipifsilent runmaximized
-Filename: {app}\Getting Started.html; Description: Read Getting Started document; Flags: shellexec skipifsilent postinstall
+Filename: {app}\SlimTray.exe; Description: {cm:LaunchSlimServerApplication}; WorkingDir: "{app}"; Flags: nowait skipifsilent runmaximized
[UninstallDelete]
Type: dirifempty; Name: {app}
@@ -86,9 +119,9 @@
Type: dirifempty; Name: {app}\server\SQL
Type: filesandordirs; Name: {app}\server\Cache
Type: files; Name: {app}\server\slimserver.pref
-Type: files; Name: {app}\Slim Devices Web Site.url
-Type: files; Name: {app}\SlimServer Web Interface.url
-Type: files; Name: {commonstartup}\SlimServer Tray Tool.url
+Type: files; Name: {app}\{cm:SlimDevicesWebSite}.url
+Type: files; Name: {app}\{cm:SlimServerWebInterface}.url
+Type: files; Name: {commonstartup}\{cm:SlimServerTrayTool}.url
[_ISTool]
EnableISX=true
@@ -101,150 +134,74 @@
Filename: {app}\server\slim.exe; Parameters: -remove; WorkingDir: {app}\server; Flags: skipifdoesntexist runminimized; MinVersion: 0,4.00.1381
[Code]
-{
- This section, along with [_ISTool] EnableISX=true
- means that you must compile the script with My Inno Setup Extensions -
- - see : http://www.wintax.nl/isx/ for the latest version.
-}
-
var
- MyPlayListFolder: String;
+ FileName: String;
MyMusicFolder: String;
- FileName: String;
+ MyPlaylistFolder: String;
AutoStart: String;
-
-function ScriptDlgPages(CurPage: Integer; BackClicked: Boolean): Boolean;
-var
- CurSubPage: Integer;
- Next: Boolean;
-begin
-
- if ((not BackClicked and (CurPage = wpSelectDir)) or (BackClicked and (CurPage = wpSelectProgramGroup))) then
- begin
- FileName:=AddBackslash(ExpandConstant('{app}')) + AddBackslash('server') + 'slimserver.pref';
-
- // Insert a custom wizard page between two non custom pages
- if (BackClicked or FileExists(FileName)) then
- curSubPage:=2
- else
- curSubPage:=0;
-
- ScriptDlgPageOpen();
-
- while(CurSubPage>=0) and (CurSubPage<=2) and not Terminated do begin
- case CurSubPage of
- 0:
- if not FileExists(FileName) then begin
- ScriptDlgPageSetCaption('Select your Music Folder');
- ScriptDlgPageSetSubCaption1('Where should the SlimServer look for your music?');
- ScriptDlgPageSetSubCaption2('Select the folder you would like the SlimServer to look for your music, then click Next.');
-
- if(MyMusicFolder='') then begin
- if (not RegQueryStringValue(HKCU, 'Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders','My Music', MyMusicFolder)) then
- if (not RegQueryStringValue(HKLM, 'Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders','My Music', MyMusicFolder)) then
- if (not RegQueryStringValue(HKLM, 'Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders','CommonMusic', MyMusicFolder)) then
- if (RegQueryStringValue(HKLM, 'Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders','Personal', MyMusicFolder)) then
- MyMusicFolder := MyMusicFolder + 'My Music'
- else
- MyMusicFolder := WizardDirValue;
- end;
-
- // Ask for a dir until the user has entered one or click Back or Cancel
- Next := InputDir(false, '', MyMusicFolder);
-
- while Next and (MyMusicFolder = '') do begin
- MsgBox(SetupMessage(msgInvalidPath), mbError, MB_OK);
- Next := InputDir(false, '', MyMusicFolder);
- end;
- end;
- 1:
- if not FileExists(FileName) then begin
- ScriptDlgPageSetCaption('Select your Playlist Folder');
- ScriptDlgPageSetSubCaption1('Where should SlimServer look for an store your Playlists?');
- ScriptDlgPageSetSubCaption2('Select the folder you would like the SlimServer to look for or store your playlists, then click Next.');
-
- if(MyPlayListFolder='') then begin
- if(MyMusicFolder<>'') then
- MyPlayListFolder:=MyMusicFolder
- else
- MyPlayListFolder := WizardDirValue;
- end;
-
- // Ask for a dir until the user has entered one or click Back or Cancel
- Next := InputDir(false, '', MyPlayListFolder);
-
- while Next and (MyPlayListFolder = '') do begin
- MsgBox(SetupMessage(msgInvalidPath), mbError, MB_OK);
- Next := InputDir(false, '', MyPlayListFolder);
- end;
-
- end;
- 2:
- begin
- if UsingWinNT() then
- begin
- ScriptDlgPageSetCaption('Automatic Startup');
- ScriptDlgPageSetSubCaption1('');
- ScriptDlgPageSetSubCaption2('You can set SlimServer to start automatically when your computer starts up.');
-
- Next := InputOption('Start Automatically', AutoStart);
-
- if (Next and (AutoStart <> '1')) then
- CurSubPage := CurSubPage + 1;
-
- end;
- end;
- end;
-
- if Next then begin
- { Go to the next page, but only if the user entered correct information }
- CurSubPage := CurSubPage + 1;
- end else
- CurSubPage := CurSubPage - 1;
-
- end;
-
- if not BackClicked then
- Result:=Next
- else
- Result:=not Next;
-
- ScriptDlgPageClose(not Result);
- end
- else
- begin
- Result := true;
- end;
-end;
-
-function NextButtonClick(CurPage: Integer): Boolean;
-begin
- Result := ScriptDlgPages(CurPage, False);
-end;
-
-function BackButtonClick(CurPage: Integer): Boolean;
-begin
- Result := ScriptDlgPages(CurPage, True);
-end;
-
-function GetMusicFolder(S: String): String;
-begin
- // Return the selected DataDir
+ MusicFolderPage: TInputDirWizardPage;
+ PlaylistFolderPage: TInputDirWizardPage;
+
+function InitializeSetup() : Boolean;
+begin
+ Result := True;
+end;
+
+function GetMusicFolder() : String;
+begin
+ if (MyMusicFolder='') then begin
+ if (not RegQueryStringValue(HKCU, 'Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders','My Music', MyMusicFolder)) then
+ if (not RegQueryStringValue(HKLM, 'Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders','My Music', MyMusicFolder)) then
+ if (not RegQueryStringValue(HKLM, 'Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders','CommonMusic', MyMusicFolder)) then
+ if (RegQueryStringValue(HKLM, 'Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders','Personal', MyMusicFolder)) then
+ MyMusicFolder := MyMusicFolder + 'My Music'
+ else
+ MyMusicFolder := WizardDirValue;
+ end;
+
Result := MyMusicFolder;
end;
-function InitializeSetup() : Boolean;
-begin
- Result := True;
+function GetPlaylistFolder() : String;
+begin
+
+ if (MyPlaylistFolder = '') then begin
+ if (GetMusicFolder() <> '') then
+ MyPlaylistFolder := GetMusicFolder()
+ else
+ MyPlaylistFolder := WizardDirValue;
+ end;
+
+ Result := MyPlaylistFolder;
end;
procedure InitializeWizard();
begin
AutoStart := '1';
-end;
-
-
-procedure CurStepChanged(CurStep: Integer);
+
+ MusicFolderPage := CreateInputDirPage(wpSelectDir,
+ CustomMessage('SelectYourMusicFolder'),
+ CustomMessage('WhereLookMusic'),
+ CustomMessage('SelectMusicNext'),
+ False, '');
+ MusicFolderPage.Add('');
+
+ MusicFolderPage.Values[0] := GetMusicFolder();
+
+
+ PlaylistFolderPage := CreateInputDirPage(wpSelectDir,
+ CustomMessage('SelectPlaylistFolder'),
+ CustomMessage('WhereLookPlaylists'),
+ CustomMessage('SelectPlaylistNext'),
+ False, '');
+ PlaylistFolderPage.Add('');
+
+ PlaylistFolderPage.Values[0] := GetPlaylistFolder();
+
+
+end;
+
+procedure CurStepChanged(CurStep: TSetupStep);
var
ErrorCode: Integer;
ServicePath: String;
@@ -255,29 +212,30 @@
Uninstaller: String;
delPath: String;
PrefString : String;
-begin
- if CurStep = csCopy then
+
+begin
+ if CurStep = ssInstall then
begin
// Queries the specified REG_SZ or REG_EXPAND_SZ registry key/value, and returns the value in ResultStr.
// Returns True if successful. When False is returned, ResultStr is unmodified.
if RegQueryStringValue(HKLM, 'Software\Microsoft\Windows\CurrentVersion\Uninstall\SLIMP3 Server_is1','UninstallString', Uninstaller) then
begin
- if not InstExec(RemoveQuotes(Uninstaller), '/SILENT','', True, True, SW_SHOWNORMAL, ErrorCode) then
- MsgBox('Problem uninstalling SLIMP3 software: ' + SysErrorMessage(ErrorCode),mbError, MB_OK);
+ if not Exec(RemoveQuotes(Uninstaller), '/SILENT','', SW_SHOWNORMAL, ewWaitUntilTerminated, ErrorCode) then
+ MsgBox(CustomMessage('ProblemUninstallingSLIMP3') + SysErrorMessage(ErrorCode),mbError, MB_OK);
end;
NewServerDir:= AddBackslash(ExpandConstant('{app}')) + AddBackslash('server');
- InstExec('net', 'stop slimsvc', '', true, false, SW_HIDE, ErrorCode);
- InstExec('net', 'stop SlimServerMySQL', '', true, false, SW_HIDE, ErrorCode);
+ Exec('net', 'stop slimsvc', '', SW_HIDE, ewWaitUntilTerminated, ErrorCode);
+ Exec('net', 'stop SlimServerMySQL', '', SW_HIDE, ewWaitUntilTerminated, ErrorCode);
- if RegQueryStringValue(HKLM, 'System\CurrentControlSet\Services\slimsvc', 'ImagePath', ServicePath) then
+ if RegQueryStringValue(HKLM, 'System\CurrentControlSet\Services\slimsvc', 'ImagePath', ServicePath) then
begin
ServicePath:= RemoveQuotes(ServicePath);
OldServerDir:= AddBackslash(ExtractFileDir(ServicePath));
end
- else
+ else
begin
- OldServerDir:= NewServerDir;
+ OldServerDir:= NewServerDir;
if (FileExists(OldServerDir + 'slimsvc.exe')) then
ServicePath:= OldServerDir + 'slimsvc.exe'
else
@@ -288,9 +246,9 @@
OldTrayDir := OldServerDir + AddBackslash('..');
TrayPath:= OldTrayDir + 'SlimTray.exe';
if (FileExists(TrayPath)) then
- InstExec(TrayPath, '--exit', OldTrayDir, true, false, SW_HIDE, ErrorCode);
-
- InstExec(ServicePath, '-remove', OldServerDir, true, false, SW_HIDE, ErrorCode);
+ Exec(TrayPath, '--exit', OldTrayDir, SW_HIDE, ewWaitUntilTerminated, ErrorCode);
+
+ Exec(ServicePath, '-remove', OldServerDir, SW_HIDE, ewWaitUntilTerminated, ErrorCode);
if (OldServerDir = NewServerDir) then
DeleteFile(ServicePath);
@@ -336,23 +294,140 @@
end;
- if CurStep = csFinished then begin
+ if CurStep = ssDone then begin
if not FileExists(FileName) then
begin
- PrefString := 'audiodir = ' + MyMusicFolder + #13#10 + 'playlistdir = ' + MyPlayListFolder + #13#10;
+ PrefString := 'audiodir = ' + MyMusicFolder + #13#10 + 'playlistdir = ' + MyPlaylistFolder + #13#10;
SaveStringToFile(FileName, PrefString, False);
end;
NewServerDir := AddBackslash(ExpandConstant('{app}')) + AddBackslash('server');
if (AutoStart = '1') then
- begin
- InstExec(NewServerDir + 'slim.exe', '-install auto', NewServerDir, True, False, SW_SHOWMINIMIZED, ErrorCode);
- InstExec('net', 'start slimsvc', '', true, false, SW_HIDE, ErrorCode);
+ begin
+ Exec(NewServerDir + 'slim.exe', '-install auto', NewServerDir, SW_SHOWMINIMIZED, ewWaitUntilTerminated, ErrorCode);
+ Exec('net', 'start slimsvc', '', SW_HIDE, ewWaitUntilTerminated, ErrorCode);
end
else
begin
- InstExec(NewServerDir + 'slim.exe', '-install', NewServerDir, True, False, SW_SHOWMINIMIZED, ErrorCode);
+ Exec(NewServerDir + 'slim.exe', '-install', NewServerDir, SW_SHOWMINIMIZED, ewWaitUntilTerminated, ErrorCode);
end;
end;
end;
+
+[Ignore]
+
+function ScriptDlgPages(CurPage: Integer; BackClicked: Boolean): Boolean;
+var
+ CurSubPage: Integer;
+ Next: Boolean;
+begin
+
+ if ((not BackClicked and (CurPage = wpSelectDir)) or (BackClicked and (CurPage = wpSelectProgramGroup))) then
+ begin
+ FileName:=AddBackslash(ExpandConstant('{app}')) + AddBackslash('server') + 'slimserver.pref';
+
+ // Insert a custom wizard page between two non custom pages
+ if (BackClicked or FileExists(FileName)) then
+ curSubPage:=2
+ else
+ curSubPage:=0;
+
+ ScriptDlgPageOpen();
+
+ while(CurSubPage>=0) and (CurSubPage<=2) and not Terminated do begin
+ case CurSubPage of
+ 0:
+ if not FileExists(FileName) then begin
+ ScriptDlgPageSetCaption('Select your Music Folder');
+ ScriptDlgPageSetSubCaption1('Where should the SlimServer look for your music?');
+ ScriptDlgPageSetSubCaption2('Select the folder you would like the SlimServer to look for your music, then click Next.');
+
+ if(MyMusicFolder='') then begin
+ if (not RegQueryStringValue(HKCU, 'Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders','My Music', MyMusicFolder)) then
+ if (not RegQueryStringValue(HKLM, 'Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders','My Music', MyMusicFolder)) then
+ if (not RegQueryStringValue(HKLM, 'Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders','CommonMusic', MyMusicFolder)) then
+ if (RegQueryStringValue(HKLM, 'Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders','Personal', MyMusicFolder)) then
+ MyMusicFolder := MyMusicFolder + 'My Music'
+ else
+ MyMusicFolder := WizardDirValue;
+ end;
+
+ // Ask for a dir until the user has entered one or click Back or Cancel
+ Next := InputDir(false, '', MyMusicFolder);
+
+ while Next and (MyMusicFolder = '') do begin
+ MsgBox(SetupMessage(msgInvalidPath), mbError, MB_OK);
+ Next := InputDir(false, '', MyMusicFolder);
+ end;
+ end;
+ 1:
+ if not FileExists(FileName) then begin
+ ScriptDlgPageSetCaption('Select your Playlist Folder');
+ ScriptDlgPageSetSubCaption1('Where should SlimServer look for an store your Playlists?');
+ ScriptDlgPageSetSubCaption2('Select the folder you would like the SlimServer to look for or store your playlists, then click Next.');
+
+ if(MyPlaylistFolder='') then begin
+ if(MyMusicFolder<>'') then
+ MyPlaylistFolder:=MyMusicFolder
+ else
+ MyPlaylistFolder := WizardDirValue;
+ end;
+
+ // Ask for a dir until the user has entered one or click Back or Cancel
+ Next := InputDir(false, '', MyPlaylistFolder);
+
+ while Next and (MyPlaylistFolder = '') do begin
+ MsgBox(SetupMessage(msgInvalidPath), mbError, MB_OK);
+ Next := InputDir(false, '', MyPlaylistFolder);
+ end;
+
+ end;
+ 2:
+ begin
+ if UsingWinNT() then
+ begin
+ ScriptDlgPageSetCaption('Automatic Startup');
+ ScriptDlgPageSetSubCaption1('');
+ ScriptDlgPageSetSubCaption2('You can set SlimServer to start automatically when your computer starts up.');
+
+ Next := InputOption('Start Automatically', AutoStart);
+
+ if (Next and (AutoStart <> '1')) then
+ CurSubPage := CurSubPage + 1;
+
+ end;
+ end;
+ end;
+
+ if Next then begin
+ { Go to the next page, but only if the user entered correct information }
+ CurSubPage := CurSubPage + 1;
+ end else
+ CurSubPage := CurSubPage - 1;
+
+ end;
+
+ if not BackClicked then
+ Result:=Next
+ else
+ Result:=not Next;
+
+ ScriptDlgPageClose(not Result);
+ end
+ else
+ begin
+ Result := true;
+ end;
+end;
+
+function NextButtonClick(CurPage: Integer): Boolean;
+begin
+ Result := ScriptDlgPages(CurPage, False);
+end;
+
+function BackButtonClick(CurPage: Integer): Boolean;
+begin
+ Result := ScriptDlgPages(CurPage, True);
+end;
+
Modified: trunk/server/Changelog6.html
URL: http://svn.slimdevices.com/trunk/server/Changelog6.html?rev=11856&r1=11855&r2=11856&view=diff
==============================================================================
--- trunk/server/Changelog6.html (original)
+++ trunk/server/Changelog6.html Sun Apr 29 15:31:14 2007
@@ -60,6 +60,7 @@
<ul>
<li>Update logos and names to Logitech from Slim Devices in many places.
<li>Update help files for localization.
+ <li>Internationalization of Windows Installer
</ul>
</ul>
More information about the checkins
mailing list