mirror of
https://github.com/danbulant/Cosmos
synced 2026-05-19 20:39:01 +00:00
433 lines
18 KiB
Text
433 lines
18 KiB
Text
; Do NOT change this next line in Dev Kit
|
|
#ifndef ChangeSetVersion
|
|
#define ChangeSetVersion "20150130"
|
|
#endif
|
|
|
|
#ifndef BuildConfiguration
|
|
; Currently we dont use "UserKit" but this allows us to test/compile from Inno
|
|
; IDE so that we don't get an undefined error.
|
|
; We default to devkit so we dont have to wait on compression.
|
|
#define BuildConfiguration "DevKit"
|
|
;#define BuildConfiguration "UserKit"
|
|
#endif
|
|
|
|
#ifndef VSVersion
|
|
#define VSVersion "vs2019"
|
|
#endif
|
|
|
|
#if BuildConfiguration == "DevKit"
|
|
; devkit releases are not compressed
|
|
#pragma warning "Building Dev Kit release"
|
|
#else
|
|
; userkit releases get compressed, and get languages included
|
|
#pragma message "Building User Kit release"
|
|
#define Compress true
|
|
#define IncludeUILanguages true
|
|
#endif
|
|
|
|
[Setup]
|
|
AppId=CosmosUserKit
|
|
AppName=Cosmos User Kit
|
|
AppVerName=Cosmos User Kit v{#ChangeSetVersion}
|
|
AppCopyright=Copyright (c) 2007-2019 The Cosmos Project
|
|
AppPublisher=Cosmos Project
|
|
AppPublisherURL=http://www.goCosmos.org/
|
|
AppSupportURL=http://www.goCosmos.org/
|
|
AppUpdatesURL=http://www.goCosmos.org/
|
|
AppVersion={#ChangeSetVersion}
|
|
SetupMutex=CosmosSetupMutexName,Global\CosmoSetupMutexName
|
|
DefaultDirName={userappdata}\Cosmos User Kit
|
|
DefaultGroupName=Cosmos User Kit
|
|
OutputDir=.\Setup\Output
|
|
OutputBaseFilename=CosmosUserKit-{#ChangeSetVersion}-{#VSVersion}
|
|
#ifdef Compress
|
|
Compression=lzma2/ultra64
|
|
InternalCompressLevel=ultra64
|
|
SolidCompression=true
|
|
#else
|
|
Compression=none
|
|
InternalCompressLevel=none
|
|
#endif
|
|
SourceDir=..
|
|
;Left Image should be 164x314
|
|
WizardImageFile=.\setup\images\cosmos.bmp
|
|
;Small Image should be 55x55
|
|
WizardSmallImageFile=.\setup\images\cosmos_small.bmp
|
|
AllowCancelDuringInstall=false
|
|
UninstallLogMode=overwrite
|
|
ChangesAssociations=yes
|
|
DisableWelcomePage=True
|
|
DisableReadyPage=True
|
|
DisableReadyMemo=True
|
|
FlatComponentsList=False
|
|
AlwaysShowComponentsList=False
|
|
ShowComponentSizes=False
|
|
LicenseFile=LICENSE.txt
|
|
DisableDirPage=no
|
|
|
|
[Messages]
|
|
SelectDirDesc=If the user installing the Cosmos User Kit is not the admin. Please choose the corresponding AppData/Roaming directory.
|
|
|
|
[Dirs]
|
|
Name: {app}; Flags: uninsalwaysuninstall
|
|
|
|
[InstallDelete]
|
|
Type: filesandordirs; Name: "{app}"
|
|
|
|
[Files]
|
|
; Tools
|
|
Source: ".\Build\Tools\*.exe"; DestDir: "{app}\Build\Tools"; Flags: ignoreversion uninsremovereadonly
|
|
Source: ".\Build\Tools\NAsm\*.exe"; DestDir: "{app}\Build\Tools\NAsm"; Flags: ignoreversion uninsremovereadonly
|
|
Source: ".\Build\Tools\Cygwin\*"; DestDir: "{app}\Build\Tools\cygwin"; Flags: ignoreversion uninsremovereadonly overwritereadonly
|
|
Source: ".\Build\Tools\mkisofs\*"; DestDir: "{app}\Build\Tools\mkisofs"; Flags: ignoreversion uninsremovereadonly overwritereadonly
|
|
Source: ".\Build\VSIP\IL2CPU\*"; DestDir: "{app}\Build\IL2CPU"; Flags: ignoreversion uninsremovereadonly
|
|
;Source: ".\Build\VSIP\XSharp\*"; DestDir: "{app}\Build\XSharp"; Flags: ignoreversion uninsremovereadonly
|
|
Source: ".\Build\VSIP\Cosmos.Deploy.USB.exe"; DestDir: "{app}\Build\Tools"; Flags: ignoreversion uninsremovereadonly
|
|
Source: ".\Build\VSIP\Cosmos.Deploy.Pixie.exe"; DestDir: "{app}\Build\Tools"; Flags: ignoreversion uninsremovereadonly
|
|
Source: ".\Build\VSIP\Cosmos.Build.Common.dll"; DestDir: "{app}\Build\Tools"; Flags: ignoreversion uninsremovereadonly
|
|
Source: ".\Build\VSIP\Cosmos.Debug.GDB.exe"; DestDir: "{app}\Build\VSIP\"; Flags: ignoreversion uninsremovereadonly
|
|
; Kernel assemblies
|
|
Source: ".\Build\VSIP\Cosmos.Debug.Kernel*"; DestDir: "{app}\Kernel"; Flags: ignoreversion uninsremovereadonly
|
|
Source: ".\Build\VSIP\Cosmos.Core*"; DestDir: "{app}\Kernel"; Flags: ignoreversion uninsremovereadonly
|
|
Source: ".\Build\VSIP\Cosmos.HAL*"; DestDir: "{app}\Kernel"; Flags: ignoreversion uninsremovereadonly
|
|
Source: ".\Build\VSIP\Cosmos.System*"; DestDir: "{app}\Kernel"; Flags: ignoreversion uninsremovereadonly
|
|
Source: ".\Build\VSIP\Cosmos.Common*"; DestDir: "{app}\Kernel"; Flags: ignoreversion uninsremovereadonly
|
|
Source: ".\Build\VSIP\IL2CPU.API*"; DestDir: "{app}\Kernel"; Flags: ignoreversion uninsremovereadonly
|
|
; Packages
|
|
Source: ".\Build\VSIP\Packages\*.nupkg"; DestDir: "{app}\packages\"; Flags: ignoreversion uninsremovereadonly
|
|
; Icon
|
|
Source: ".\Artwork\Cosmos.ico"; DestDir: "{app}"; Flags: ignoreversion uninsremovereadonly
|
|
; XSharp
|
|
Source: ".\Artwork\XSharp\XSharp.ico"; DestDir: "{app}\XSharp\"; Flags: ignoreversion uninsremovereadonly
|
|
Source: "..\IL2CPU\source\Cosmos.Core.DebugStub\*.xs"; DestDir: "{app}\XSharp\DebugStub\"; Flags: ignoreversion uninsremovereadonly
|
|
; VMware
|
|
Source: ".\Build\HyperV\*"; DestDir: "{app}\Build\HyperV"; Flags: ignoreversion uninsremovereadonly overwritereadonly recursesubdirs
|
|
; VMware
|
|
Source: ".\Build\VMware\*"; DestDir: "{app}\Build\VMware"; Flags: ignoreversion uninsremovereadonly overwritereadonly recursesubdirs
|
|
; ISO
|
|
Source: ".\Build\syslinux\isolinux.bin"; DestDir: "{app}\Build\ISO\"
|
|
Source: ".\Build\syslinux\ldlinux.c32"; DestDir: "{app}\Build\ISO\"
|
|
Source: ".\Build\syslinux\libcom32.c32"; DestDir: "{app}\Build\ISO\"
|
|
Source: ".\Build\syslinux\mboot.c32"; DestDir: "{app}\Build\ISO\"
|
|
Source: ".\Build\syslinux\syslinux.cfg"; DestDir: "{app}\Build\ISO\"
|
|
; USB
|
|
Source: ".\Build\syslinux\ldlinux.c32"; DestDir: "{app}\Build\USB\"
|
|
Source: ".\Build\syslinux\libcom32.c32"; DestDir: "{app}\Build\USB\"
|
|
Source: ".\Build\syslinux\mboot.c32"; DestDir: "{app}\Build\USB\"
|
|
Source: ".\Build\syslinux\syslinux.cfg"; DestDir: "{app}\Build\USB\"
|
|
; PXE
|
|
Source: ".\Build\syslinux\pxelinux.0"; DestDir: "{app}\Build\PXE"
|
|
Source: ".\Build\syslinux\mboot.c32"; DestDir: "{app}\Build\PXE\"
|
|
Source: ".\Build\syslinux\ldlinux.c32"; DestDir: "{app}\Build\PXE\"
|
|
Source: ".\Build\syslinux\libcom32.c32"; DestDir: "{app}\Build\PXE\"
|
|
Source: ".\Build\syslinux\syslinux.cfg"; DestDir: "{app}\Build\PXE\pxelinux.cfg"; DestName: "default"
|
|
; VSIP
|
|
Source: ".\Build\Tools\VSIXBootstrapper.exe"; DestDir: "{app}\Build\Tools"; Flags: ignoreversion uninsremovereadonly
|
|
Source: ".\Build\VSIP\Cosmos.VS.DebugEngine.vsix"; DestDir: "{app}\VSIX\"; Flags: ignoreversion uninsremovereadonly
|
|
Source: ".\Build\VSIP\Cosmos.VS.ProjectSystem.vsix"; DestDir: "{app}\VSIX\"; Flags: ignoreversion uninsremovereadonly
|
|
|
|
[Registry]
|
|
; Regiter .xs Extension
|
|
Root: HKCR; Subkey: ".xs"; ValueType: string; ValueName: ""; ValueData: "XSharp"; Flags: uninsdeletevalue
|
|
Root: HKCR; Subkey: "XSharp"; ValueType: string; ValueName: ""; ValueData: "X# source file"; Flags: uninsdeletekey
|
|
Root: HKCR; Subkey: "XSharp\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\XSharp\XSharp.ico,0"
|
|
Root: HKCR; Subkey: "XSharp\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\Build\XSharp\XSC.exe"" ""%1"""
|
|
; User Kit Folder
|
|
Root: HKLM; SubKey: Software\Cosmos; ValueType: string; ValueName: "UserKit"; ValueData: {app}; Flags: uninsdeletekey
|
|
; Dev Kit Folder - Set by builder only, but we delete it here. See comments in builder.
|
|
; HKCU because Builder doesn't run as admin
|
|
; Note HKCU is not part of registry redirection
|
|
Root: HKCU; SubKey: Software\Cosmos; ValueType: none; ValueName: "DevKit"; Flags: deletekey
|
|
|
|
[ThirdParty]
|
|
UseRelativePaths=True
|
|
|
|
[Run]
|
|
Filename: "{app}\Build\Tools\nuget.exe"; Parameters: "sources Remove -Name ""Cosmos Local Package Feed"""; WorkingDir: "{app}"; Description: "Uninstall Kernel Packages"; StatusMsg: "Uninstalling Kernel Packages"
|
|
Filename: "{app}\Build\Tools\nuget.exe"; Parameters: "sources Add -Name ""Cosmos Local Package Feed"" -Source ""{app}\packages\\"""; WorkingDir: "{app}"; Description: "Install Kernel Packages"; StatusMsg: "Installing Kernel Packages"
|
|
|
|
Filename: "{app}\Build\Tools\VSIXBootstrapper.exe"; Parameters: "/q /u:Cosmos.VS.ProjectSystem"; Description: "Remove Cosmos Project System"; StatusMsg: "Removing Visual Studio Extension: Cosmos Project System"
|
|
Filename: "{app}\Build\Tools\VSIXBootstrapper.exe"; Parameters: "/q /u:Cosmos.VS.DebugEngine"; Description: "Remove Cosmos Debug Engine"; StatusMsg: "Removing Visual Studio Extension: Cosmos Debug Engine"
|
|
|
|
Filename: "{app}\Build\Tools\VSIXBootstrapper.exe"; Parameters: "/q Cosmos.VS.DebugEngine.vsix"; WorkingDir: "{app}\VSIX\"; Description: "Install Cosmos Debug Engine"; StatusMsg: "Installing Visual Studio Extension: Cosmos Debug Engine"
|
|
Filename: "{app}\Build\Tools\VSIXBootstrapper.exe"; Parameters: "/q Cosmos.VS.ProjectSystem.vsix"; WorkingDir: "{app}\VSIX\"; Description: "Install Cosmos Project System"; StatusMsg: "Installing Visual Studio Extension: Cosmos Project System"
|
|
|
|
[UninstallRun]
|
|
Filename: "{app}\Build\Tools\nuget.exe"; Parameters: "sources Remove -Name ""Cosmos Local Package Feed"""; WorkingDir: "{app}"; StatusMsg: "Uninstalling Kernel Packages"
|
|
|
|
Filename: "{app}\Build\Tools\VSIXBootstrapper.exe"; Parameters: "/q /u:Cosmos.VS.ProjectSystem"; StatusMsg: "Removing Visual Studio Extension: Cosmos Project System"
|
|
Filename: "{app}\Build\Tools\VSIXBootstrapper.exe"; Parameters: "/q /u:Cosmos.VS.DebugEngine"; StatusMsg: "Removing Visual Studio Extension: Cosmos Debug Engine"
|
|
|
|
[Code]
|
|
function IsAppRunning(const FileName: string): Boolean;
|
|
var
|
|
FWMIService: Variant;
|
|
FSWbemLocator: Variant;
|
|
FWbemObjectSet: Variant;
|
|
begin
|
|
Result := false;
|
|
FSWbemLocator := CreateOleObject('WBEMScripting.SWBEMLocator');
|
|
FWMIService := FSWbemLocator.ConnectServer('', 'root\CIMV2', '', '');
|
|
FWbemObjectSet := FWMIService.ExecQuery(Format('SELECT Name FROM Win32_Process Where Name="%s"',[FileName]));
|
|
Result := (FWbemObjectSet.Count > 0);
|
|
FWbemObjectSet := Unassigned;
|
|
FWMIService := Unassigned;
|
|
FSWbemLocator := Unassigned;
|
|
end;
|
|
|
|
function IsAppRunningWithResponse(const FileName: string): Boolean;
|
|
var
|
|
Retry: Integer;
|
|
begin
|
|
Result := IsAppRunning(FileName);
|
|
if Result then
|
|
MsgBox(FileName + ' is running. Please close the application before running the installer.', mbError, MB_OK);
|
|
end;
|
|
|
|
function InitializeSetup: boolean;
|
|
var
|
|
Retry: Integer;
|
|
begin
|
|
for Retry := 0 to 2 do
|
|
begin
|
|
Result := not IsAppRunningWithResponse('devenv.exe');
|
|
if not Result then
|
|
begin
|
|
continue;
|
|
end;
|
|
Result := not IsAppRunningWithResponse('VSIXInstaller.exe');
|
|
if not Result then
|
|
begin
|
|
continue;
|
|
end;
|
|
Result := not IsAppRunningWithResponse('ServiceHub.IdentityHost.exe');
|
|
if not Result then
|
|
begin
|
|
continue;
|
|
end;
|
|
Result := not IsAppRunningWithResponse('ServiceHub.VSDetouredHost.exe');
|
|
if not Result then
|
|
begin
|
|
continue;
|
|
end;
|
|
Result := not IsAppRunningWithResponse('ServiceHub.Host.Node.x86.exe');
|
|
if not Result then
|
|
begin
|
|
continue;
|
|
end;
|
|
Result := not IsAppRunningWithResponse('ServiceHub.SettingsHost.exe');
|
|
if not Result then
|
|
begin
|
|
continue;
|
|
end;
|
|
Result := not IsAppRunningWithResponse('ServiceHub.Host.CLR.x86.exe');
|
|
if not Result then
|
|
begin
|
|
continue;
|
|
end
|
|
else
|
|
begin
|
|
break;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
function ExecWithResult(const Filename, Params, WorkingDir: String; const ShowCmd: Integer;
|
|
const Wait: TExecWait; var ResultCode: Integer; var ResultString: AnsiString): Boolean;
|
|
var
|
|
TempFilename: AnsiString;
|
|
Command: String;
|
|
begin
|
|
TempFilename :=
|
|
ExpandConstant('{tmp}\~execwithresult.txt');
|
|
Command :=
|
|
Format('"%s" /S /C ""%s" %s > "%s""', [ExpandConstant('{cmd}'), Filename, Params, TempFilename]);
|
|
Result :=
|
|
Exec(ExpandConstant('{cmd}'), Command, WorkingDir, ShowCmd, Wait, ResultCode);
|
|
if not Result then
|
|
Exit;
|
|
LoadStringFromFile(TempFilename, ResultString);
|
|
DeleteFile(TempFilename);
|
|
if (Length(ResultString) >= 2) and (ResultString[Length(ResultString) - 1] = #13) and (ResultString[Length(ResultString)] = #10) then
|
|
Delete(ResultString, Length(ResultString) - 1, 2);
|
|
end;
|
|
|
|
function ExecWithoutResult(const Filename, Params, WorkingDir: String; const ShowCmd: Integer;
|
|
const Wait: TExecWait; var ResultCode: Integer): Boolean;
|
|
var
|
|
Command: String;
|
|
begin
|
|
Command :=
|
|
Format('"%s" /S /C ""%s" %s"', [ExpandConstant('{cmd}'), Filename, Params]);
|
|
Result :=
|
|
Exec(ExpandConstant('{cmd}'), Command, WorkingDir, ShowCmd, Wait, ResultCode);
|
|
if not Result then
|
|
Exit;
|
|
end;
|
|
|
|
function GetVSPath(): String;
|
|
var
|
|
Command: AnsiString;
|
|
Params: AnsiString;
|
|
Success: Boolean;
|
|
ResultCode: Integer;
|
|
ResultText: AnsiString;
|
|
begin
|
|
Command := ExpandConstant('{app}\Build\Tools\vswhere.exe');
|
|
Params := '-latest -version "[15.0,16.0)" -requires Microsoft.Component.MSBuild -property installationPath';
|
|
Success :=
|
|
ExecWithResult(Command, Params, '', SW_HIDE, ewWaitUntilTerminated, ResultCode, ResultText)
|
|
or (ResultCode <> 0);
|
|
if Success then
|
|
Result := ResultText;
|
|
end;
|
|
|
|
function GetVsixInstallerPath(): String;
|
|
var
|
|
VsPath: String;
|
|
begin
|
|
VsPath := GetVSPath();
|
|
Result := VsPath + '\Common7\IDE\vsixinstaller.exe';
|
|
end;
|
|
|
|
function GetVsixInstallCommand(Param: String): String;
|
|
var
|
|
Command: String;
|
|
begin
|
|
Command := GetVsixInstallerPath();
|
|
Result := Command;
|
|
end;
|
|
|
|
function GetVsixInstallParams(const Filename: String): String;
|
|
var
|
|
Params: String;
|
|
begin
|
|
Params := ' "' + ExpandConstant('{app}\') + Filename + '"';
|
|
Result := Params;
|
|
end;
|
|
|
|
function GetVsixUninstallParams(const Filename: String): String;
|
|
var
|
|
Params: String;
|
|
begin
|
|
Params := ' /uninstall:"' + Filename + '"';
|
|
Result := Params;
|
|
end;
|
|
|
|
function GetMSBuildDirectory(Param: String): String;
|
|
var
|
|
VSPath: String;
|
|
begin
|
|
VSPath := GetVSPath();
|
|
Result := VsPath + '\MSBuild';
|
|
end;
|
|
|
|
function GetUninstallString(): String;
|
|
var
|
|
sUnInstPath: String;
|
|
sUnInstallString: String;
|
|
begin
|
|
sUnInstPath := ExpandConstant('Software\Microsoft\Windows\CurrentVersion\Uninstall\{#emit SetupSetting("AppId")}_is1');
|
|
sUnInstallString := '';
|
|
if not RegQueryStringValue(HKLM, sUnInstPath, 'UninstallString', sUnInstallString) then
|
|
RegQueryStringValue(HKCU, sUnInstPath, 'UninstallString', sUnInstallString);
|
|
Result := sUnInstallString;
|
|
end;
|
|
|
|
/////////////////////////////////////////////////////////////////////
|
|
// Uninstall previously installed application.
|
|
/////////////////////////////////////////////////////////////////////
|
|
function UnInstallOldVersion(): Integer;
|
|
var
|
|
sUnInstallString: String;
|
|
iResultCode: Integer;
|
|
begin
|
|
// Return Values:
|
|
// 1 - uninstall string is empty
|
|
// 2 - error executing the UnInstallString
|
|
// 3 - successfully executed the UnInstallString
|
|
|
|
// default return value
|
|
Result := 0;
|
|
|
|
// get the uninstall string of the old app
|
|
sUnInstallString := GetUninstallString();
|
|
if sUnInstallString <> '' then begin
|
|
sUnInstallString := RemoveQuotes(sUnInstallString);
|
|
if Exec(sUnInstallString, '/SILENT /NORESTART /SUPPRESSMSGBOXES','', SW_HIDE, ewWaitUntilTerminated, iResultCode) then
|
|
Result := 3
|
|
else
|
|
Result := 2;
|
|
end else
|
|
Result := 1;
|
|
end;
|
|
|
|
[Languages]
|
|
Name: en; MessagesFile: compiler:Default.isl; InfoBeforeFile: .\setup\Readme.txt
|
|
#ifdef IncludeUILanguages
|
|
Name: eu; MessagesFile: .\setup\Languages\Basque-1-5.1.0.isl; InfoBeforeFile: .\setup\Readme.txt
|
|
Name: ca; MessagesFile: .\setup\Languages\Catalan-4-5.1.0.isl; InfoBeforeFile: .\setup\Readme.txt
|
|
Name: cs; MessagesFile: .\setup\Languages\Czech-5-5.1.0.isl; InfoBeforeFile: .\setup\Readme.txt
|
|
Name: da; MessagesFile: .\setup\Languages\Danish-4-5.1.0.isl; InfoBeforeFile: .\setup\Readme.txt
|
|
Name: nl; MessagesFile: .\setup\Languages\Dutch-8-5.1.0.isl; InfoBeforeFile: .\setup\Readme.txt
|
|
Name: fi; MessagesFile: .\setup\Languages\Finnish-5.1.0.isl; InfoBeforeFile: .\setup\Readme.txt
|
|
Name: fr; MessagesFile: .\setup\Languages\French-15-5.1.0.isl; InfoBeforeFile: .\setup\Readme.txt
|
|
Name: de; MessagesFile: .\setup\Languages\German-2-5.1.0.isl; InfoBeforeFile: .\setup\Readme.txt
|
|
Name: hu; MessagesFile: .\setup\Languages\Hungarian-5.1.0.isl; InfoBeforeFile: .\setup\Readme.txt
|
|
Name: it; MessagesFile: .\setup\Languages\Italian-14-5.1.0.isl; InfoBeforeFile: .\setup\Readme.txt
|
|
Name: no; MessagesFile: .\setup\Languages\Norwegian-5.1.0.isl; InfoBeforeFile: .\setup\Readme.txt
|
|
Name: pl; MessagesFile: .\setup\Languages\Polish-8-5.1.0.isl; InfoBeforeFile: .\setup\Readme.txt
|
|
Name: pt; MessagesFile: .\setup\Languages\PortugueseStd-1-5.1.0.isl; InfoBeforeFile: .\setup\Readme.txt
|
|
Name: ru; MessagesFile: .\setup\Languages\Russian-19-5.1.0.isl; InfoBeforeFile: .\setup\Readme.txt
|
|
Name: sk; MessagesFile: .\setup\Languages\Slovak-6-5.1.0.isl; InfoBeforeFile: .\setup\Readme.txt
|
|
Name: sl; MessagesFile: .\setup\Languages\Slovenian-3-5.1.0.isl; InfoBeforeFile: .\setup\Readme.txt
|
|
;Unofficial:
|
|
Name: bg; MessagesFile: .\setup\Languages\InOfficial\Bulgarian-5.1.0.isl; InfoBeforeFile: .\setup\Readme.txt
|
|
Name: el; MessagesFile: .\setup\Languages\InOfficial\Greek-4-5.1.0.isl; InfoBeforeFile: .\setup\Readme.txt
|
|
Name: is; MessagesFile: .\setup\Languages\InOfficial\Icelandic-1-5.1.0.isl; InfoBeforeFile: .\setup\Readme.txt
|
|
Name: id; MessagesFile: .\setup\Languages\InOfficial\Indonesian-5.1.0.isl; InfoBeforeFile: .\setup\Readme.txt
|
|
Name: ja; MessagesFile: .\setup\Languages\InOfficial\Japanese-5-5.1.0.isl; InfoBeforeFile: .\setup\Readme.txt
|
|
Name: ko; MessagesFile: .\setup\Languages\InOfficial\Korean-5-5.1.0.isl; InfoBeforeFile: .\setup\Readme.txt
|
|
Name: ms; MessagesFile: .\setup\Languages\InOfficial\Malaysian-2-5.1.0.isl; InfoBeforeFile: .\setup\Readme.txt
|
|
Name: es; MessagesFile: .\setup\Languages\InOfficial\SpanishStd-2-5.1.0.isl; InfoBeforeFile: .\setup\Readme.txt
|
|
Name: sv; MessagesFile: .\setup\Languages\InOfficial\Swedish-8-5.1.0.isl; InfoBeforeFile: .\setup\Readme.txt
|
|
Name: tr; MessagesFile: .\setup\Languages\InOfficial\Turkish-3-5.1.0.isl; InfoBeforeFile: .\setup\Readme.txt
|
|
Name: uk; MessagesFile: .\setup\Languages\InOfficial\Ukrainian-5-5.1.0.isl; InfoBeforeFile: .\setup\Readme.txt
|
|
Name: cn; MessagesFile: .\setup\Languages\InOfficial\ChineseSimp-11-5.1.0.isl; InfoBeforeFile: .\setup\Readme.txt
|
|
Name: tw; MessagesFile: .\setup\Languages\InOfficial\ChineseTrad-2-5.1.0.isl; InfoBeforeFile: .\setup\Readme.txt
|
|
#endif
|
|
|
|
[Messages]
|
|
en.BeveledLabel=English
|
|
#ifdef IncludeUILanguages
|
|
eu.BeveledLabel=Basque
|
|
ca.BeveledLabel=Catalan
|
|
cs.BeveledLabel=Czech
|
|
da.BeveledLabel=Danish
|
|
nl.BeveledLabel=Dutch
|
|
fi.BeveledLabel=Finnish
|
|
fr.BeveledLabel=French
|
|
de.BeveledLabel=German
|
|
hu.BeveledLabel=Hungarian
|
|
it.BeveledLabel=Italian
|
|
no.BeveledLabel=Norwegian
|
|
pl.BeveledLabel=Polish
|
|
pt.BeveledLabel=Portuguese
|
|
ru.BeveledLabel=Russian
|
|
sk.BeveledLabel=Slovak
|
|
sl.BeveledLabel=Slovenian
|
|
;Unofficial:
|
|
bg.BeveledLabel=Bulgarian
|
|
el.BeveledLabel=Greek
|
|
is.BeveledLabel=Icelandic
|
|
id.BeveledLabel=Indonesian
|
|
ja.BeveledLabel=Japanese
|
|
ko.BeveledLabel=Korean
|
|
ms.BeveledLabel=Malaysian
|
|
es.BeveledLabel=Spanish
|
|
sv.BeveledLabel=Swedish
|
|
tr.BeveledLabel=Turkish
|
|
uk.BeveledLabel=Ukrainian
|
|
cn.BeveledLabel=Chinese Simplified
|
|
tw.BeveledLabel=Chinese Traditional
|
|
#endif
|