View Issue Details

IDProjectCategoryView StatusLast Update
0035464LazarusInstallerpublic2019-05-04 08:53
Reporterrobsean Assigned ToMartin Friebe  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
OSwindows 
Product Version2.0.3 (SVN) 
Fixed in Version2.0.4 
Summary0035464: Add Simple Chinese item for Lazarus IDE installer
DescriptionHi,
  I added Simple Chinese item the lazarus.iss .
TagsNo tags attached.
Fixed in Revision61118
LazTarget2.0.4
WidgetsetWin32/Win64
Attached Files

Relationships

related to 0035193 resolvedMaxim Ganetsky Chinese lazarus.zh_CN.isl file for Lazarus IDE installer 

Activities

robsean

2019-04-29 05:16

reporter  

lazarus.iss (33,708 bytes)   
[_ISTool]
EnableISX=true
[Defines]
#define AppVersion GetEnv('LazVersion')
// LazVersion may be 0.9.30.2RC1
// A valid file version contains only digits, so drop the RC part
#if pos('RC',AppVersion)>0
  #define FileVersion = copy(AppVersion, 1, pos('RC', AppVersion)-1)
#else 
  #if pos('pre',AppVersion)>0
    #define FileVersion = copy(AppVersion, 1, pos('pre', AppVersion)-1)
  #else
    #define FileVersion = AppVersion
  #endif
#endif
#define FPCVersion GetEnv('FPCVersion')
#define FPCTargetOS GetEnv('FPCTargetOS')
#define FPCFullTarget GetEnv('FPCFullTarget')
#define AppName "Lazarus"
#define SetupDate GetEnv('DateStamp')
#define BuildDir GetEnv('BuildDir')
#define QtInfDir GetEnv('QTINFDIR')
#define IDEWidgetSet GetEnv('IDE_WidgetSet')
#define OutputFileName GetEnv('OutputFileName')
#define CHMHELPFILES GetEnv('CHMHELPFILES')
[Setup]
AllowNoIcons=yes
AppName={#AppName}
; AddId: registry/uninstall info: Max 127 char
AppId={code:GetAppId}
AppVersion={#AppVersion}
AppVerName={#AppName} {#AppVersion}
AppPublisher=Lazarus Team
AppPublisherURL=http://www.lazarus.freepascal.org/
AppSupportURL=http://www.lazarus.freepascal.org/
AppUpdatesURL=http://www.lazarus.freepascal.org/
ArchitecturesInstallIn64BitMode=x64
DefaultDirName={code:GetDefDir|{sd}\lazarus}
DefaultGroupName={#AppName}
AppendDefaultDirName=no
DirExistsWarning=no
OutputBaseFilename={#OutputFileName}
;InternalCompressLevel=ultra64
Compression=lzma2/ultra64
LZMADictionarySize=131072
;LZMADictionarySize=262144
LZMAUseSeparateProcess=yes
LZMANumFastBytes=270
SolidCompression=yes
VersionInfoVersion={#FileVersion}
VersionInfoTextVersion={#AppVersion}-{#SetupDate}
ShowLanguageDialog=yes
WizardImageFile=lazarus_install_cheetah.bmp
WizardSmallImageFile=lazgear.bmp
WizardImageStretch=false
ShowTasksTreeLines=true
TimeStampRounding=0
PrivilegesRequired=none
ChangesAssociations=yes
; prevent checkbox pre-set (for delete user conf). Latest inno supports unchecked checkedonce
UsePreviousTasks=no
; since appid can change, UsePreviousLanguage must be off
UsePreviousLanguage=no
UninstallDisplayIcon={app}\lazarus.exe
DisableWelcomePage=no
DisableDirPage=no

[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
Name: delusersettings; Description: {cm:DelUserConf}; GroupDescription: {cm:CleanUp};  Flags: unchecked 
;unchecked checkedonce

[Components]
#if FPCTargetOS=="win32"
#if IDEWidgetSet!="qt"
Name: installqtintfdll; Description: {cm:InstallQt}; Types: custom full compact
#endif
#endif
#ifdef CHMHELPFILES
#if CHMHELPFILES!=""
Name: installhelp; Description: {cm:InstallChm}; Types: custom full
#endif
#endif
Name: association; Description: {cm:AssociateGroup}; Types: custom full
Name: association/associatelfm; Description: {code:GetAssociateDesc|.lfm}; Types: custom full
Name: association/associatelpi; Description: {code:GetAssociateDesc|.lpi}; Types: custom full
Name: association/associatelpk; Description: {code:GetAssociateDesc|.lpk}; Types: custom full
Name: association/associatelpr; Description: {code:GetAssociateDesc|.lpr}; Types: custom full
Name: association/associateinc; Description: {code:GetAssociateDesc|.inc}; Types: custom full
Name: association/associatepas; Description: {code:GetAssociateDesc|.pas}; Types: custom full
Name: association/associatepp; Description: {code:GetAssociateDesc|.pp}; Types: custom full

[InstallDelete]
Name: {code:GetPCPForDelete}*.xml; Type: files; Tasks: delusersettings
Name: {code:GetPCPForDelete}*.cfg; Type: files; Tasks: delusersettings
Name: {code:GetPCPForDelete}lazarus.dci; Type: files; Tasks: delusersettings
Name: {code:GetPCPForDelete}compilertest.pas; Type: files; Tasks: delusersettings
Name: {code:GetPCPForDelete}easydocklayout.lyt; Type: files; Tasks: delusersettings
Name: {code:GetPCPForDelete}laz_indentation.pas; Type: files; Tasks: delusersettings
Name: {code:GetPCPForDelete}staticpackages.inc; Type: files; Tasks: delusersettings
Name: {code:GetPCPForDelete}unitdictionarycodyunitdictionary*.tmp; Type: files; Tasks: delusersettings
Name: {code:GetPCPForDelete}projectsessions\*.lps; Type: files; Tasks: delusersettings
Name: {code:GetPCPForDelete}userschemes\*.xml; Type: files; Tasks: delusersettings
#if FPCTargetOS=="win32"
#include "RemovedFiles32.iss"
#endif
#if FPCTargetOS=="win64"
#include "RemovedFiles64.iss"
#endif

[Files]
Source: {#BuildDir}\*.*; DestDir: {app}; Flags: recursesubdirs
Source: environmentoptions.xml; DestDir: {app}; AfterInstall: UpdateEnvironmentOptions; DestName: environmentoptions.xml
#if FPCTargetOS=="win32"
#if IDEWidgetSet=="qt"
Source: {#QtInfDir}\*.dll; DestDir: {sys}; Flags: sharedfile replacesameversion
#else
Source: {#QtInfDir}\*.dll; DestDir: {sys}; Flags: sharedfile replacesameversion; Components: installqtintfdll; Tasks: 
#endif
Source: {#QtInfDir}\*.dll; DestDir: {app} 
#if FPCVersion=="2.2.0"
Source: {#BuildDir}\fpc\{#FPCVersion}\bin\{#FPCFullTarget}\cpp.exe; DestDir: {app}\ide; MinVersion: 1,0
#endif
#endif

#ifdef CHMHELPFILES
#if CHMHELPFILES!=""
Source: {#CHMHELPFILES}\*.*; DestDir: {app}\docs\chm; Components: installhelp; Flags: recursesubdirs
#endif
#endif

[INI]
Filename: {app}\Lazarus Home Page.url; Section: InternetShortcut; Key: URL; String: http://www.lazarus.freepascal.org/
Filename: {app}\Lazarus Forums.url; Section: InternetShortcut; Key: URL; String: http://www.lazarus.freepascal.org/index.php?action=forum
Filename: {app}\Lazarus Wiki Help.url; Section: InternetShortcut; Key: URL; String: http://wiki.lazarus.freepascal.org/

[Icons]
Name: {group}\{#AppName}; Filename: {app}\lazarus.exe; IconFilename: {app}\images\mainicon.ico; Comment: Open Source IDE for Free Pascal
Name: {group}\{cm:ProgramOnTheWeb,Lazarus}; Filename: {app}\Lazarus Home Page.url; IconFilename: {app}\images\mainiconproject.ico
Name: {group}\Lazarus Forums; Filename: {app}\Lazarus Forums.url; IconFilename: {app}\images\mainiconproject.ico
Name: {group}\Lazarus Wiki Help; Filename: {app}\Lazarus Wiki Help.url; IconFilename: {app}\images\mainiconproject.ico
Name: {group}\{cm:UninstallProgram,Lazarus}; Filename: {uninstallexe}
Name: {userdesktop}\Lazarus; Filename: {app}\lazarus.exe; Tasks: desktopicon; IconFilename: {app}\images\mainicon.ico; Comment: Open Source IDE for Free Pascal
Name: {group}\{#AppName} (debug); Filename: {app}\startlazarus.exe; Parameters: --debug; WorkingDir: {app}; IconFilename: {app}\images\mainicon.ico; Comment: Lazarus --debug

[Run]
Filename: {app}\fpc\{#FPCVersion}\bin\{#FPCFullTarget}\fpcmkcfg.exe; Parameters: "-d ""basepath={app}\fpc\$FPCVERSION"" -o ""{app}\fpc\{#FPCVersion}\bin\{#FPCFullTarget}\fpc.cfg"""; Flags: runhidden; Languages: ; WorkingDir: {app}\fpc\{#FPCVersion}\bin\{#FPCFullTarget}; Components: 

[UninstallDelete]
Name: {app}\compilertest.pas; Type: files
Name: {app}\Lazarus Wiki Help.url; Type: files
Name: {app}\Lazarus Home Page.url; Type: files
Name: {app}\Lazarus Forums.url; Type: files
Name: {app}\fpc\{#FPCVersion}\bin\{#FPCFullTarget}\fpc.cfg; Type: files
Name: {app}\lazarus.old.exe; Type: files
Name: {app}\lazarus.old2.exe; Type: files

[Registry]
; HKLM
Root: HKLM; Subkey: Software\Classes\Lazarus.AssocFile.lfm; ValueType: String; ValueData: Lazarus Form; Flags: uninsdeletekey; Check: IsHKLMWriteable; Components: association/associatelfm
Root: HKLM; Subkey: Software\Classes\Lazarus.AssocFile.lfm\DefaultIcon; ValueType: String; ValueData: {app}\images\LazarusForm.ico; Flags: uninsdeletekey; Check: IsHKLMWriteable; Components: association/associatelfm
Root: HKLM; Subkey: Software\Classes\Lazarus.AssocFile.lfm\Shell\Open; ValueName: Icon; ValueType: String; ValueData: {app}\images\LazarusForm.ico; Flags: uninsdeletekey; Check: IsHKLMWriteable; Components: association/associatelfm
Root: HKLM; Subkey: Software\Classes\Lazarus.AssocFile.lfm\Shell\Open\Command; ValueType: String; ValueData: """{app}\lazarus.exe"" ""%1"""; Flags: uninsdeletekey; Check: IsHKLMWriteable; Components: association/associatelfm

Root: HKLM; Subkey: Software\Classes\Lazarus.AssocFile.lpi; ValueType: String; ValueData: Lazarus Project Information; Flags: uninsdeletekey; Check: IsHKLMWriteable; Components: association/associatelpi
Root: HKLM; Subkey: Software\Classes\Lazarus.AssocFile.lpi\DefaultIcon; ValueType: String; ValueData: {app}\images\mainiconproject.ico; Flags: uninsdeletekey; Check: IsHKLMWriteable; Components: association/associatelpi
Root: HKLM; Subkey: Software\Classes\Lazarus.AssocFile.lpi\Shell\Open; ValueName: Icon; ValueType: String; ValueData: {app}\images\mainiconproject.ico; Flags: uninsdeletekey; Check: IsHKLMWriteable; Components: association/associatelpi
Root: HKLM; Subkey: Software\Classes\Lazarus.AssocFile.lpi\Shell\Open\Command; ValueType: String; ValueData: """{app}\lazarus.exe"" ""%1"""; Flags: uninsdeletekey; Check: IsHKLMWriteable; Components: association/associatelpi

Root: HKLM; Subkey: Software\Classes\Lazarus.AssocFile.lpk; ValueType: String; ValueData: Lazarus Package File; Flags: uninsdeletekey; Check: IsHKLMWriteable; Components: association/associatelpk
Root: HKLM; Subkey: Software\Classes\Lazarus.AssocFile.lpk\DefaultIcon; ValueType: String; ValueData: {app}\images\lazaruspackage.ico; Flags: uninsdeletekey; Check: IsHKLMWriteable; Components: association/associatelpk
Root: HKLM; Subkey: Software\Classes\Lazarus.AssocFile.lpk\Shell\Open; ValueName: Icon; ValueType: String; ValueData: {app}\images\lazaruspackage.ico; Flags: uninsdeletekey; Check: IsHKLMWriteable; Components: association/associatelpk
Root: HKLM; Subkey: Software\Classes\Lazarus.AssocFile.lpk\Shell\Open\Command; ValueType: String; ValueData: """{app}\lazarus.exe"" ""%1"""; Flags: uninsdeletekey; Check: IsHKLMWriteable; Components: association/associatelpk

Root: HKLM; Subkey: Software\Classes\Lazarus.AssocFile.lpr; ValueType: String; ValueData: Lazarus Project Main Source; Flags: uninsdeletekey; Check: IsHKLMWriteable; Components: association/associatelpr
Root: HKLM; Subkey: Software\Classes\Lazarus.AssocFile.lpr\DefaultIcon; ValueType: String; ValueData: {app}\images\lprfile.ico; Flags: uninsdeletekey; Check: IsHKLMWriteable; Components: association/associatelpr
Root: HKLM; Subkey: Software\Classes\Lazarus.AssocFile.lpr\Shell\Open; ValueName: Icon; ValueType: String; ValueData: {app}\images\lprfile.ico; Flags: uninsdeletekey; Check: IsHKLMWriteable; Components: association/associatelpr
Root: HKLM; Subkey: Software\Classes\Lazarus.AssocFile.lpr\Shell\Open\Command; ValueType: String; ValueData: """{app}\lazarus.exe"" ""%1"""; Flags: uninsdeletekey; Check: IsHKLMWriteable; Components: association/associatelpr

Root: HKLM; Subkey: Software\Classes\Lazarus.AssocFile.inc; ValueType: String; ValueData: Object Pascal Include File; Flags: uninsdeletekey; Check: IsHKLMWriteable; Components: association/associateinc
Root: HKLM; Subkey: Software\Classes\Lazarus.AssocFile.inc\DefaultIcon; ValueType: String; ValueData: {app}\images\includefile.ico; Flags: uninsdeletekey; Check: IsHKLMWriteable; Components: association/associateinc
Root: HKLM; Subkey: Software\Classes\Lazarus.AssocFile.inc\Shell\Open; ValueName: Icon; ValueType: String; ValueData: {app}\images\includefile.ico; Flags: uninsdeletekey; Check: IsHKLMWriteable; Components: association/associateinc
Root: HKLM; Subkey: Software\Classes\Lazarus.AssocFile.inc\Shell\Open\Command; ValueType: String; ValueData: """{app}\lazarus.exe"" ""%1"""; Flags: uninsdeletekey; Check: IsHKLMWriteable; Components: association/associateinc

Root: HKLM; Subkey: Software\Classes\Lazarus.AssocFile.pas; ValueType: String; ValueData: Pascal Source Code; Flags: uninsdeletekey; Check: IsHKLMWriteable; Components: association/associatepas
Root: HKLM; Subkey: Software\Classes\Lazarus.AssocFile.pas\DefaultIcon; ValueType: String; ValueData: {app}\images\lprfile.ico; Flags: uninsdeletekey; Check: IsHKLMWriteable; Components: association/associatepas
Root: HKLM; Subkey: Software\Classes\Lazarus.AssocFile.pas\Shell\Open; ValueName: Icon; ValueType: String; ValueData: {app}\images\lprfile.ico; Flags: uninsdeletekey; Check: IsHKLMWriteable; Components: association/associatepas
Root: HKLM; Subkey: Software\Classes\Lazarus.AssocFile.pas\Shell\Open\Command; ValueType: String; ValueData: """{app}\lazarus.exe"" ""%1"""; Flags: uninsdeletekey; Check: IsHKLMWriteable; Components: association/associatepas

Root: HKLM; Subkey: Software\Classes\Lazarus.AssocFile.pp; ValueType: String; ValueData: Pascal Source Code; Flags: uninsdeletekey; Check: IsHKLMWriteable; Components: association/associatepp
Root: HKLM; Subkey: Software\Classes\Lazarus.AssocFile.pp\DefaultIcon; ValueType: String; ValueData: {app}\images\lprfile.ico; Flags: uninsdeletekey; Check: IsHKLMWriteable; Components: association/associatepp
Root: HKLM; Subkey: Software\Classes\Lazarus.AssocFile.pp\Shell\Open; ValueName: Icon; ValueType: String; ValueData: {app}\images\lprfile.ico; Flags: uninsdeletekey; Check: IsHKLMWriteable; Components: association/associatepp
Root: HKLM; Subkey: Software\Classes\Lazarus.AssocFile.pp\Shell\Open\Command; ValueType: String; ValueData: """{app}\lazarus.exe"" ""%1"""; Flags: uninsdeletekey; Check: IsHKLMWriteable; Components: association/associatepp

Root: HKLM; Subkey: Software\Classes\.lfm; ValueType: String; ValueData: Lazarus.AssocFile.lfm; Flags: uninsdeletevalue; Check: IsHKLMWriteable; Components: association/associatelfm
Root: HKLM; Subkey: Software\Classes\.lpi; ValueType: String; ValueData: Lazarus.AssocFile.lpi; Flags: uninsdeletevalue; Check: IsHKLMWriteable; Components: association/associatelpi
Root: HKLM; Subkey: Software\Classes\.lpk; ValueType: String; ValueData: Lazarus.AssocFile.lpk; Flags: uninsdeletevalue; Check: IsHKLMWriteable; Components: association/associatelpk
Root: HKLM; Subkey: Software\Classes\.lpr; ValueType: String; ValueData: Lazarus.AssocFile.lpr; Flags: uninsdeletevalue; Check: IsHKLMWriteable; Components: association/associatelpr
Root: HKLM; Subkey: Software\Classes\.inc; ValueType: String; ValueData: Lazarus.AssocFile.inc; Flags: uninsdeletevalue; Check: IsHKLMWriteable; Components: association/associateinc
Root: HKLM; Subkey: Software\Classes\.pas; ValueType: String; ValueData: Lazarus.AssocFile.pas; Flags: uninsdeletevalue; Check: IsHKLMWriteable; Components: association/associatepas
Root: HKLM; Subkey: Software\Classes\.pp; ValueType: String; ValueData: Lazarus.AssocFile.pp; Flags: uninsdeletevalue; Check: IsHKLMWriteable; Components: association/associatepp

Root: HKLM; Subkey: Software\Lazarus\Capabilities; ValueType: String; ValueName: ApplicationName; ValueData: Lazarus IDE; Flags: uninsdeletekey; Check: IsHKLMWriteable; Components: association
Root: HKLM; Subkey: Software\Lazarus\Capabilities; ValueType: String; ValueName: ApplicationDescription; ValueData: Open Source IDE for Free Pascal.; Flags: uninsdeletekey; Check: IsHKLMWriteable; Components: association
Root: HKLM; Subkey: Software\Lazarus\Capabilities\FileAssociations; ValueName: .lfm; ValueType: String; ValueData: Lazarus.AssocFile.lfm; Flags: uninsdeletekey; Check: IsHKLMWriteable; Components: association/associatelfm
Root: HKLM; Subkey: Software\Lazarus\Capabilities\FileAssociations; ValueName: .lpi; ValueType: String; ValueData: Lazarus.AssocFile.lpi; Flags: uninsdeletekey; Check: IsHKLMWriteable; Components: association/associatelpi
Root: HKLM; Subkey: Software\Lazarus\Capabilities\FileAssociations; ValueName: .lpk; ValueType: String; ValueData: Lazarus.AssocFile.lpk; Flags: uninsdeletekey; Check: IsHKLMWriteable; Components: association/associatelpk
Root: HKLM; Subkey: Software\Lazarus\Capabilities\FileAssociations; ValueName: .lpr; ValueType: String; ValueData: Lazarus.AssocFile.lpr; Flags: uninsdeletekey; Check: IsHKLMWriteable; Components: association/associatelpr
Root: HKLM; Subkey: Software\Lazarus\Capabilities\FileAssociations; ValueName: .inc; ValueType: String; ValueData: Lazarus.AssocFile.inc; Flags: uninsdeletekey; Check: IsHKLMWriteable; Components: association/associateinc
Root: HKLM; Subkey: Software\Lazarus\Capabilities\FileAssociations; ValueName: .pas; ValueType: String; ValueData: Lazarus.AssocFile.pas; Flags: uninsdeletekey; Check: IsHKLMWriteable; Components: association/associatepas
Root: HKLM; Subkey: Software\Lazarus\Capabilities\FileAssociations; ValueName: .pp; ValueType: String; ValueData: Lazarus.AssocFile.pp; Flags: uninsdeletekey; Check: IsHKLMWriteable; Components: association/associatepp

Root: HKLM; Subkey: Software\RegisteredApplications; ValueType: String; ValueName: Lazarus; ValueData: Software\Lazarus\Capabilities; Flags: uninsdeletevalue; Check: IsHKLMWriteable; Components: association

; HKCU
Root: HKCU; Subkey: Software\Classes\Lazarus.AssocFile.lfm; ValueType: String; ValueData: Lazarus Form; Flags: uninsdeletekey; Check: IsHKLMNotWriteable; Components: association/associatelfm
Root: HKCU; Subkey: Software\Classes\Lazarus.AssocFile.lfm\DefaultIcon; ValueType: String; ValueData: {app}\images\LazarusForm.ico; Flags: uninsdeletekey; Check: IsHKLMNotWriteable; Components: association/associatelfm
Root: HKCU; Subkey: Software\Classes\Lazarus.AssocFile.lfm\Shell\Open; ValueName: Icon; ValueType: String; ValueData: {app}\images\LazarusForm.ico; Flags: uninsdeletekey; Check: IsHKLMNotWriteable; Components: association/associatelfm
Root: HKCU; Subkey: Software\Classes\Lazarus.AssocFile.lfm\Shell\Open\Command; ValueType: String; ValueData: """{app}\lazarus.exe"" ""%1"""; Flags: uninsdeletekey; Check: IsHKLMNotWriteable; Components: association/associatelfm

Root: HKCU; Subkey: Software\Classes\Lazarus.AssocFile.lpi; ValueType: String; ValueData: Lazarus Project Information; Flags: uninsdeletekey; Check: IsHKLMNotWriteable; Components: association/associatelpi
Root: HKCU; Subkey: Software\Classes\Lazarus.AssocFile.lpi\DefaultIcon; ValueType: String; ValueData: {app}\images\mainiconproject.ico; Flags: uninsdeletekey; Check: IsHKLMNotWriteable; Components: association/associatelpi
Root: HKCU; Subkey: Software\Classes\Lazarus.AssocFile.lpi\Shell\Open; ValueName: Icon; ValueType: String; ValueData: {app}\images\mainiconproject.ico; Flags: uninsdeletekey; Check: IsHKLMNotWriteable; Components: association/associatelpi
Root: HKCU; Subkey: Software\Classes\Lazarus.AssocFile.lpi\Shell\Open\Command; ValueType: String; ValueData: """{app}\lazarus.exe"" ""%1"""; Flags: uninsdeletekey; Check: IsHKLMNotWriteable; Components: association/associatelpi

Root: HKCU; Subkey: Software\Classes\Lazarus.AssocFile.lpk; ValueType: String; ValueData: Lazarus Package File; Flags: uninsdeletekey; Check: IsHKLMNotWriteable; Components: association/associatelpk
Root: HKCU; Subkey: Software\Classes\Lazarus.AssocFile.lpk\DefaultIcon; ValueType: String; ValueData: {app}\images\lazaruspackage.ico; Flags: uninsdeletekey; Check: IsHKLMNotWriteable; Components: association/associatelpk
Root: HKCU; Subkey: Software\Classes\Lazarus.AssocFile.lpk\Shell\Open; ValueName: Icon; ValueType: String; ValueData: {app}\images\lazaruspackage.ico; Flags: uninsdeletekey; Check: IsHKLMNotWriteable; Components: association/associatelpk
Root: HKCU; Subkey: Software\Classes\Lazarus.AssocFile.lpk\Shell\Open\Command; ValueType: String; ValueData: """{app}\lazarus.exe"" ""%1"""; Flags: uninsdeletekey; Check: IsHKLMNotWriteable; Components: association/associatelpk

Root: HKCU; Subkey: Software\Classes\Lazarus.AssocFile.lpr; ValueType: String; ValueData: Lazarus Project Main Source; Flags: uninsdeletekey; Check: IsHKLMNotWriteable; Components: association/associatelpr
Root: HKCU; Subkey: Software\Classes\Lazarus.AssocFile.lpr\DefaultIcon; ValueType: String; ValueData: {app}\images\lprfile.ico; Flags: uninsdeletekey; Check: IsHKLMNotWriteable; Components: association/associatelpr
Root: HKCU; Subkey: Software\Classes\Lazarus.AssocFile.lpr\Shell\Open; ValueName: Icon; ValueType: String; ValueData: {app}\images\lprfile.ico; Flags: uninsdeletekey; Check: IsHKLMNotWriteable; Components: association/associatelpr
Root: HKCU; Subkey: Software\Classes\Lazarus.AssocFile.lpr\Shell\Open\Command; ValueType: String; ValueData: """{app}\lazarus.exe"" ""%1"""; Flags: uninsdeletekey; Check: IsHKLMNotWriteable; Components: association/associatelpr

Root: HKCU; Subkey: Software\Classes\Lazarus.AssocFile.inc; ValueType: String; ValueData: Object Pascal Include File; Flags: uninsdeletekey; Check: IsHKLMNotWriteable; Components: association/associateinc
Root: HKCU; Subkey: Software\Classes\Lazarus.AssocFile.inc\DefaultIcon; ValueType: String; ValueData: {app}\images\includefile.ico; Flags: uninsdeletekey; Check: IsHKLMNotWriteable; Components: association/associateinc
Root: HKCU; Subkey: Software\Classes\Lazarus.AssocFile.inc\Shell\Open; ValueName: Icon; ValueType: String; ValueData: {app}\images\includefile.ico; Flags: uninsdeletekey; Check: IsHKLMNotWriteable; Components: association/associateinc
Root: HKCU; Subkey: Software\Classes\Lazarus.AssocFile.inc\Shell\Open\Command; ValueType: String; ValueData: """{app}\lazarus.exe"" ""%1"""; Flags: uninsdeletekey; Check: IsHKLMNotWriteable; Components: association/associateinc

Root: HKCU; Subkey: Software\Classes\Lazarus.AssocFile.pas; ValueType: String; ValueData: Pascal Source Code; Flags: uninsdeletekey; Check: IsHKLMNotWriteable; Components: association/associatepas
Root: HKCU; Subkey: Software\Classes\Lazarus.AssocFile.pas\DefaultIcon; ValueType: String; ValueData: {app}\images\lprfile.ico; Flags: uninsdeletekey; Check: IsHKLMNotWriteable; Components: association/associatepas
Root: HKCU; Subkey: Software\Classes\Lazarus.AssocFile.pas\Shell\Open; ValueName: Icon; ValueType: String; ValueData: {app}\images\lprfile.ico; Flags: uninsdeletekey; Check: IsHKLMNotWriteable; Components: association/associatepas
Root: HKCU; Subkey: Software\Classes\Lazarus.AssocFile.pas\Shell\Open\Command; ValueType: String; ValueData: """{app}\lazarus.exe"" ""%1"""; Flags: uninsdeletekey; Check: IsHKLMNotWriteable; Components: association/associatepas

Root: HKCU; Subkey: Software\Classes\Lazarus.AssocFile.pp; ValueType: String; ValueData: Pascal Source Code; Flags: uninsdeletekey; Check: IsHKLMNotWriteable; Components: association/associatepp
Root: HKCU; Subkey: Software\Classes\Lazarus.AssocFile.pp\DefaultIcon; ValueType: String; ValueData: {app}\images\lprfile.ico; Flags: uninsdeletekey; Check: IsHKLMNotWriteable; Components: association/associatepp
Root: HKCU; Subkey: Software\Classes\Lazarus.AssocFile.pp\Shell\Open; ValueName: Icon; ValueType: String; ValueData: {app}\images\lprfile.ico; Flags: uninsdeletekey; Check: IsHKLMNotWriteable; Components: association/associatepp
Root: HKCU; Subkey: Software\Classes\Lazarus.AssocFile.pp\Shell\Open\Command; ValueType: String; ValueData: """{app}\lazarus.exe"" ""%1"""; Flags: uninsdeletekey; Check: IsHKLMNotWriteable; Components: association/associatepp

Root: HKCU; Subkey: Software\Classes\.lfm; ValueType: String; ValueData: Lazarus.AssocFile.lfm; Flags: uninsdeletevalue; Check: IsHKLMNotWriteable; Components: association/associatelfm
Root: HKCU; Subkey: Software\Classes\.lpi; ValueType: String; ValueData: Lazarus.AssocFile.lpi; Flags: uninsdeletevalue; Check: IsHKLMNotWriteable; Components: association/associatelpi
Root: HKCU; Subkey: Software\Classes\.lpk; ValueType: String; ValueData: Lazarus.AssocFile.lpk; Flags: uninsdeletevalue; Check: IsHKLMNotWriteable; Components: association/associatelpk
Root: HKCU; Subkey: Software\Classes\.lpr; ValueType: String; ValueData: Lazarus.AssocFile.lpr; Flags: uninsdeletevalue; Check: IsHKLMNotWriteable; Components: association/associatelpr
Root: HKCU; Subkey: Software\Classes\.inc; ValueType: String; ValueData: Lazarus.AssocFile.inc; Flags: uninsdeletevalue; Check: IsHKLMNotWriteable; Components: association/associateinc
Root: HKCU; Subkey: Software\Classes\.pas; ValueType: String; ValueData: Lazarus.AssocFile.pas; Flags: uninsdeletevalue; Check: IsHKLMNotWriteable; Components: association/associatepas
Root: HKCU; Subkey: Software\Classes\.pp; ValueType: String; ValueData: Lazarus.AssocFile.pp; Flags: uninsdeletevalue; Check: IsHKLMNotWriteable; Components: association/associatepp

[Languages]
Name: default; MessagesFile: lazarus.def.isl
Name: ca; MessagesFile: compiler:Languages\Catalan.isl
Name: cs; MessagesFile: compiler:Languages\Czech.isl
Name: de; MessagesFile: lazarus.de.isl
Name: es; MessagesFile: lazarus.es.isl
Name: fi; MessagesFile: compiler:Languages\Finnish.isl
Name: fr; MessagesFile: lazarus.fr.isl
Name: hu; MessagesFile: compiler:Languages\Hungarian.isl
Name: it; MessagesFile: compiler:Languages\Italian.isl
Name: nl; MessagesFile: compiler:Languages\Dutch.isl
Name: no; MessagesFile: compiler:Languages\Norwegian.isl
Name: pl; MessagesFile: compiler:Languages\Polish.isl
Name: pt; MessagesFile: compiler:Languages\Portuguese.isl
Name: pt_BR; MessagesFile: lazarus.pt_BR.isl
Name: ru; MessagesFile: lazarus.ru.isl
;Slovak.isl not avail with latest inno setup
;Name: sk; MessagesFile: compiler:Languages\Slovak.isl
Name: sl; MessagesFile: compiler:Languages\Slovenian.isl
Name: zh_CN; MessagesFile: lazarus.zh_CN.isl

[Code]
type
  TCfgFileState = (csNoFile, csUnreadable, csParsedOk);

var
  ForcePrimaryAppId: Boolean;  // GetAppId should ignore secondary

  IsSecondaryUpdate: Boolean;     //   Also used by GetAppId

  // User Selected
  SecondPCP: String; // used by common.GetPCPForDelete

function IsSecondaryCheckBoxChecked: Boolean; forward;                          // in secondary.pas
function DidRunUninstaller: Boolean; forward;                                   // in uninst.pas
function HasSavedConfigFromUninstall(AFolder: String): Boolean; forward;        // in uninst.pas
function GetSavedConfigFromUninstall(AFolder: String): TStringList; forward;    // in uninst.pas
function GetSavedPCPFromUninstall(AFolder: String): String; forward;            // in uninst.pas
function GetSavedStateFromUninstall(AFolder: String): TCfgFileState; forward;   // in uninst.pas


#include "innoscript\common.pas"
#include "innoscript\conffile.pas"
#include "innoscript\secondary.pas"
#include "innoscript\uninst.pas"
#include "innoscript\about.pas"

var
  HasBeenOnGroupSelect: Boolean;

procedure CurPageChanged(CurPageID: Integer);
begin
  if CurPageID = wpInstalling then
    AddInfoComponentsToProgressWizzard;

  if (CurPageID = wpSelectDir) then
    AddSecondaryCheckBoxToTargetDirWizzard;

  if CurPageID = wpFinished then
    CreateOrSaveConfigFile;

  if CurPageId = wpSelectTasks then begin
    // desktop item
    // index 0 is the caption/ 1 the checkbox
    WizardForm.TasksList.ItemEnabled[0] := not(IsSecondaryCheckBoxChecked or  IsSecondaryUpdate);
    WizardForm.TasksList.ItemEnabled[1] := not(IsSecondaryCheckBoxChecked or  IsSecondaryUpdate);
	if IsSecondaryCheckBoxChecked or  IsSecondaryUpdate then
      WizardForm.TasksList.Checked[1] := False;
  end;

  if CurPageId = wpSelectProgramGroup then begin
    if not HasBeenOnGroupSelect then
      if (IsSecondaryCheckBoxChecked or IsSecondaryUpdate) and
         (CompareText(WizardForm.GroupEdit.Text, 'Lazarus') = 0)
        then
          WizardForm.GroupEdit.Text := 'Lazarus 2';
    HasBeenOnGroupSelect := True;
  end;

end;

function NextButtonClick(CurPage: Integer): Boolean;
var
    s, folder: String;
    FolderEmpty: Boolean;
begin
	// by default go to next page
	Result := true;
    ForcePrimaryAppId := False;

	// if curpage is wpSelectDir check is filesystem
	if (CurPage = wpSelectDir) then 
	begin
        Log('NextButton in SelectDir');
        IsSecondaryUpdate := False;
        ClearExistingConfigForFolder;
		folder := WizardDirValue;

		if Pos( ' ', folder ) > 0 then
		begin
			MsgBox(SaveCustomMessage('FolderHasSpaces', 'Selected folder contains spaces, please select a folder without spaces in it.'),
                   mbInformation, MB_OK );
			Result := false;
			exit;
		end;

		FolderEmpty := IsDirEmpty(folder);
        LoadExistingConfigForFolder(folder);
        IsSecondaryUpdate := HasPCPLoadedFromDir(folder, True); // check for uninstalled file too
        SecondPCP := GetPCPLoadedFromDir(folder, True);
// TODO:
// If we came back AFTER running uninstall,
// AND changed the folder for and back (ending with the uninstall folder selected)
// THEN we should ask, if the uninstalled (todo uninstall cfg file) should be restored?
		UpdateUninstallInfo;

        if FolderEmpty then
          exit;

		if (IsSecondaryCheckBoxChecked) then
		begin    // Secondary
            case GetStateLoadedFromDir(folder, True) of
              csNoFile: begin
				  Result := False;
                  MsgBox(Format(CustomMessage('FolderForSecondNoFile'), [#13#10]), mbConfirmation, MB_OK);
                  exit;
                end;
              csUnreadable: begin
				  Result := False;
                  MsgBox(Format(CustomMessage('FolderForSecondBadFile'), [#13#10]), mbConfirmation, MB_OK);
                  exit;
                end;
              csParsedOk: begin
// TODO ask, depending on uninstaller availability
			      if (UninstallState = UIOtherNeeded) or (UninstallState = uiInconsistent)
                  then begin
                    MsgBox(Format(CustomMessage('FolderForSecondBadUninstall'), [#13#10]), mbConfirmation, MB_OK);
				    Result := False;
                    exit;
                  end
                  else
			      if ((UninstallState = uiDone) or (UninstallState = UIOtherNeeded)) or
                     (UninstallState = uiInconsistent)
                  then begin
                    Result := MsgBox(Format(CustomMessage('FolderForSecondUpgrading'), [#13#10, SecondPCP]), mbConfirmation, MB_YESNO) = IDYES;
                  end;
                end;
            end;
		end

        else
		begin
            // Dir NOT empty: do not warn, if uiDestNeeded => folder content is updatable lazarus
			if ((UninstallState = uiDone) or (UninstallState = UIOtherNeeded)) or
               (UninstallState = uiInconsistent)
            then begin
                if IsSecondaryUpdate then
                    Result := MsgBox(Format(SaveCustomMessage('FolderForSecondUpgrading', 'The target folder is not empty.%0:sIt contains a secondary Lazarus installation using the following folder for configuration:%0:s%1:s%0:s%0:sContinue with installation?'),
                                           {}[#13#10, SecondPCP]), mbConfirmation, MB_YESNO) = IDYES
                else
				    Result := MsgBox(SaveCustomMessage('FolderNotEmpty', 'The target folder is not empty. Continue with installation?'),
                                     mbConfirmation, MB_YESNO) = IDYES;
			end;
		end;
	end;

    if CurPage = wpAskConfDir.ID then begin
      Log('NextButton in AskConfDir');
      s := wpAskConfDir.Values[0];
      if (not IsDirEmpty(s)) then begin
        MsgBox(Format(CustomMessage('FolderForConfNotEmpty'), [#13#10]), mbConfirmation, MB_OK);
		Result := False;
        exit;
      end;

      SecondPCP := s;
    end;
end;

function ShouldSkipPage(PageId: Integer): Boolean;
begin
  Result := False
  if PageId = wpAskConfDir.ID then begin
    Log('ShouldSkip  AskConfDir  IsSecondaryUpdate='+dbgsBool(IsSecondaryUpdate)+
       '  Check='+dbgsBool(IsSecondaryCheckBoxChecked)
       );

    Result := (not IsSecondaryCheckBoxChecked) or IsSecondaryUpdate;
  end;
  // UnInst uses: SkipAskUninst()
end;

function UpdateReadyMemo(Space, NewLine,
  MemoUserInfoInfo, MemoDirInfo, MemoTypeInfo, MemoComponentsInfo, MemoGroupInfo,
  MemoTasksInfo: String): String;
begin
  Result := '';
  if MemoUserInfoInfo <> '' then
    Result := Result + MemoUserInfoInfo + NewLine;
  if MemoDirInfo <> '' then
    Result := Result + MemoDirInfo + NewLine;
  if MemoTypeInfo <> '' then
    Result := Result + MemoTypeInfo + NewLine;
  if MemoComponentsInfo <> '' then
    Result := Result + MemoComponentsInfo + NewLine;
  if MemoGroupInfo <> '' then
    Result := Result + MemoGroupInfo + NewLine;
  if MemoTasksInfo <> '' then
    Result := Result + MemoTasksInfo + NewLine;
  if (IsSecondaryCheckBoxChecked) then begin
    if IsSecondaryUpdate then
      Result := Result + Format(SaveCustomMessage('SecondTaskUpdate', ''), [NewLine, Space, SecondPCP])
    else
      Result := Result + Format(SaveCustomMessage('SecondTaskCreate', ''), [NewLine, Space, SecondPCP]);
  end
  else
  if IsSecondaryUpdate then
    Result := Result + Format(SaveCustomMessage('SecondTaskUpdate', ''), [NewLine, Space, SecondPCP]);
end;

function PrepareToInstall(var NeedsRestart: Boolean): String;
begin
  Result := '';
  ForcePrimaryAppId := False;
end;

procedure InitializeWizard();
var
  s, s2 : String;
begin
  ForcePrimaryAppId := False;
  HasBeenOnGroupSelect := False;

  InitializeUninstallInfo;
  CreateUninstallWizardPage;

  CreateSecondaryConfFolderAndNameWizardPage;

end;

//function InitializeUninstall(): Boolean;
//var i: integer;
//begin
//  Result := True;
//  for i := 0 to ParamCount - 1 do
//    if ParamStr(i) = '/VERBOSE' then
//      Result :=
//        MsgBox(Format(CustomMessage('UninstVerbose'),
//                      {}[RemoveQuotes(GetUninstallData('Inno Setup: App Path')),
//                       GetUninstallData('DisplayName')]),
//               mbConfirmation, MB_YESNO) = IDYES;
//
//end;


lazarus.iss (33,708 bytes)   

Martin Friebe

2019-04-29 14:11

manager   ~0115893

inno reports an error: Couldn't open include file "C:\Program Files (x86)\Inno Setup 5.6.0U\Languages\Chinese.isl"

What version of inno is required?

Also, is that only the one line?
Name: zh_CN; MessagesFile: lazarus.zh_CN.isl

Martin Friebe

2019-04-29 14:22

manager   ~0115894

It appears that it needs inno 6.0.
From the inno release notes: OS requirements change: Windows 2000, XP, and Server 2003 are no longer supported.

Lazarus still supports this platforms.

Do you know if the translation can be added to inno 5.6?

Martin Friebe

2019-04-29 14:40

manager   ~0115895

I copied the file from https://raw.githubusercontent.com/jrsoftware/issrc/master/Files/Languages/Unofficial/ChineseSimplified.isl

Please test attached "dummy installer" (it contains a dummy file, also it is normal that it gives an error at the end of the install, as fpccfg.exe is not part of it)
It should allow you to review all pages of the installer.
Ensure you also/additionally try
- 2ndary install
- install folder with space
- install folder not empty
- install to a folder that has the current installation
- install to a folder that does not have the current install
lazarus-DUMMY.exe (653,555 bytes)

robsean

2019-04-30 03:51

reporter   ~0115905

Hi,
   I am so sorry .
   Yes , we must copy the file from https://raw.githubusercontent.com/jrsoftware/issrc/master/Files/Languages/Unofficial/ChineseSimplified.isl , saved it as Chinese.isl .
   Important:Both the Encoding of the Chinese.isl file and the lazarus.zh_CN.isl file MUST Convert to ANSI . if not , it cannot be displayed correctly.
   I used the innosetup-5.6.1-unicode ,too .

Martin Friebe

2019-04-30 12:21

manager   ~0115918

So is the attached lazarus-dummy.exe installer showing correct or broken Chinese?

robsean

2019-05-02 11:02

reporter   ~0115947

hi,
  yes , it was the case that I found .

Martin Friebe

2019-05-02 16:47

manager   ~0115961

Ok the current file is wrong. https://forum.lazarus.freepascal.org/index.php/topic,45266.msg319894.html#msg319894

I need the files.
Files I can copy into:

tools\install\win\lazarus.zh_CN.isl
change include:
#include "ChineseSimplified_from_inno_6_0.isl"


tools\install\win\ChineseSimplified_from_inno_6_0.isl
Add the lines:
; *** Inno Setup version 6.0.0+ Chinese Simplified messages ***
;;;
;;; This file is from https://github.com/jrsoftware/issrc/blob/master/Files/Languages/Unofficial/ChineseSimplified.isl
;;;
;

robsean

2019-05-03 06:07

reporter   ~0115969

Hi ,
  I had changed the files ,and attached following
ChineseSimplified_from_inno_6_0.isl (14,442 bytes)   
; *** Inno Setup version 6.0.0+ Chinese Simplified messages ***
;;;
;;; This file is from https://github.com/jrsoftware/issrc/blob/master/Files/Languages/Unofficial/ChineseSimplified.isl
;;;
;
;
; Maintained by Zhenghan Yang
; Email: 847320916@QQ.com
; Translation based on network resource
;

[LangOptions]
LanguageName=<7B80><4F53><4E2D><6587>
LanguageID=$0004
LanguageCodePage=936

[Messages]

; *** Ӧ�ó������
SetupAppTitle=��װ
SetupWindowTitle=��װ - %1
UninstallAppTitle=�
UninstallAppFullTitle=%1 �

; *** Misc. common
InformationTitle=��Ϣ
ConfirmTitle=ȷ��
ErrorTitle=����

; *** ��װ�����Ϣ
SetupLdrStartupMessage=���ڽ���װ %1�����Ҫ�����
LdrCannotCreateTemp=���ܴ�����ʱ�ļ�����װ�жϡ�
LdrCannotExecTemp=����ִ���ʱĿ¼�е��ļ�����װ�жϡ�
HelpTextNote=

; *** ������Ϣ
LastErrorMessage=%1.%n%n���� %2: %3
SetupFileMissing=��װĿ¼�е��ļ� %1 ��ʧ���������������ȡһ���µij��򸱱���
SetupFileCorrupt=��װ�ļ����𻵡����ȡһ���µij��򸱱���
SetupFileCorruptOrWrongVer=��װ�ļ����𻵣�����������װ����İ汾�����ݡ��������������ȡ�µij��򸱱���
InvalidParameter=���������: %n%n%1
SetupAlreadyRunning=��װ����������С�
WindowsVersionNotSupported=������֧�ָð汾�ļ������С�
WindowsServicePackRequired=������Ҫ��%1����%1��ߡ�
NotOnThisPlatform=�����򽫲��������� %1��
OnlyOnThisPlatform=��������������� %1��
OnlyOnTheseArchitectures=������ֻ����Ϊ��д�����ṹ��Ƶ� Windows �汾�н��а�װ:%n%n%1
WinVersionTooLowError=��������Ҫ %1 �汾 %2 ��ߡ�
WinVersionTooHighError=�������ܰ�װ�� %1 �汾 %2 ��ߡ�
AdminPrivilegesRequired=�ڰ�װ������ʱ������Թ��Ա��ݵ�¼��
PowerUserPrivilegesRequired=�ڰ�װ������ʱ������Թ��Ա��ݻ���Ȩ�޵��û�����ݵ�¼��
SetupAppRunningError=��װ������ %1 ��ǰ������С�%n%n���ȹر�������еĴ��ڣ�Ȼ�󵥻���ȷ����������򰴡�ȡ����˳���
UninstallAppRunningError=ж�س����� %1 ��ǰ������С�%n%n���ȹر�������еĴ��ڣ�Ȼ�󵥻���ȷ����������򰴡�ȡ����˳���

; *** Startup questions
PrivilegesRequiredOverrideTitle=ѡ��װ����ģʽ
PrivilegesRequiredOverrideInstruction=ѡ��װģʽ
PrivilegesRequiredOverrideText1=%1 ����Ϊ����û���װ(��Ҫ���ԱȨ��)����Ϊ���װ��
PrivilegesRequiredOverrideText2=%1 ֻ��Ϊ���װ����Ϊ����û���װ(��Ҫ���ԱȨ��)��
PrivilegesRequiredOverrideAllUsers=Ϊ����û���װ(&A)
PrivilegesRequiredOverrideAllUsersRecommended=Ϊ����û���װ(����ѡ��)(&A)
PrivilegesRequiredOverrideCurrentUser=ֻΪ�Ұ�װ(&M)
PrivilegesRequiredOverrideCurrentUserRecommended=ֻΪ�Ұ�װ(����ѡ��)(&M)

; *** �������
ErrorCreatingDir=��װ�����ܴ���Ŀ¼��%1����
ErrorTooManyFilesInDir=������Ŀ¼��%1���д����ļ�����Ϊ������ļ�̫��

; *** ��װ���򹫹��Ϣ
ExitSetupTitle=�˳���װ����
ExitSetupMessage=��װ����δ��ɰ�װ����������˳�����ij��򽫲��ܰ�װ��%n%n������Ժ������а�װ������ɰ�װ��%n%n�˳���װ������
AboutSetupMenuItem=���ڰ�װ����(&A)...
AboutSetupTitle=���ڰ�װ����
AboutSetupMessage=%1 �汾 %2%n%3%n%n%1 �ҳ:%n%4
AboutSetupNote=
TranslatorNote=

; *** ��ť
ButtonBack=< ��һ��(&B)
ButtonNext=��һ��(&N) >
ButtonInstall=��װ(&I)
ButtonOK=ȷ��
ButtonCancel=ȡ�
ButtonYes=��(&Y)
ButtonYesToAll=ȫ��(&A)
ButtonNo=��(&N)
ButtonNoToAll=ȫ��(&O)
ButtonFinish=���(&F)
ButtonBrowse=��(&B)...
ButtonWizardBrowse=��(&R)...
ButtonNewFolder=�½��ļ���(&M)

; *** ��ѡ�����ԡ��Ի����Ϣ
SelectLanguageTitle=ѡ��װ����
SelectLanguageLabel=ѡ��װʱҪʹ�õ�����:

; *** ����������
ClickNext=��������һ����������򵥻���ȡ����˳���װ����
BeveledLabel=
BrowseDialogTitle=���ļ���
BrowseDialogLabel=�����б���ѡ��һ���ļ��У�Ȼ�󵥻���ȷ������
NewFolderName=�½��ļ���

; *** ����ӭ����ҳ
WelcomeLabel1=��ӭʹ�� [name] ��װ��
WelcomeLabel2=���ڽ���װ [name/ver] ����ĵ����С�%n%n�Ƽ���ڼ����װǰ�ر�������Ӧ�ó���

; *** �����롱��ҳ
WizardPassword=����
PasswordLabel1=����װ���������뱣����
PasswordLabel3=���������룬Ȼ�󵥻�����һ���������������ִ�Сд��
PasswordEditLabel=����(&P):
IncorrectPassword=���������벻�ȷ�������ԡ�

; *** �����Э�顱��ҳ
WizardLicense=�����
LicenseLabel=�����װǰ���Ķ������Ҫ��Ϣ��
LicenseLabel3=����ϸ�Ķ�������Э�顣��ڼ����װǰ����ͬ����ЩЭ����
LicenseAccepted=��ͬ���Э��(&A)
LicenseNotAccepted=�Ҳ�ͬ���Э��(&D)

; *** ����Ϣ����ҳ
WizardInfoBefore=��Ϣ
InfoBeforeLabel=���ڼ����װǰ�Ķ������Ҫ��Ϣ��
InfoBeforeClickLabel=���������װ����������һ������
WizardInfoAfter=��Ϣ
InfoAfterLabel=���ڼ����װǰ�Ķ������Ҫ��Ϣ��
InfoAfterClickLabel=���������װ����������һ������

; *** ���û���Ϣ����ҳ
WizardUserInfo=�û���Ϣ
UserInfoDesc=�����������Ϣ��
UserInfoName=�û��(&U):
UserInfoOrg=��֯(&O):
UserInfoSerial=��к�(&S):
UserInfoNameRequired=�����������֡�

; *** ��ѡ��Ŀ��Ŀ¼������
WizardSelectDir=ѡ��Ŀ��λ��
SelectDirDesc=��뽫 [name] ��װ��ʲô�ط���
SelectDirLabel3=��װ���򽫰�װ [name] ������ļ����С�
SelectDirBrowseLabel=��������һ��������������ѡ������ļ��У�������������
DiskSpaceMBLabel=�����Ҫ�� [mb] MB �Ŀ��ô��̿ռ䡣
CannotInstallToNetworkDrive=��װ�����޷���װ��һ�����������
CannotInstallToUNCPath=��װ�����޷���װ��һ��UNC·����
InvalidPath=���������һ���������������·��������:%n%nC:\APP%n%n�������ʽ�� UNC ·��:%n%n\\server\share
InvalidDrive=�ѡ���������� UNC �������ڻ��ܷ��ʡ���ѡѡ�����λ�á�
DiskSpaceWarningTitle=û���㹻�Ĵ��̿ռ�
DiskSpaceWarning=��װ���������Ҫ %1 KB �Ŀ��ÿռ���ܰ�װ����ѡ������ֻ�� %2 KB �Ŀ��ÿռ䡣%n%n�һ��Ҫ�����
DirNameTooLong=�ļ������·��̫����
InvalidDirName=�ļ��������Ч�ġ�
BadDirName32=�ļ�������ܰ�������κ��ַ�:%n%n%1
DirExistsTitle=�ļ��д���
DirExists=�ļ���:%n%n%1%n%n�Ѿ����ڡ��һ��Ҫ��װ�����ļ�������
DirDoesntExistTitle=�ļ��в�����
DirDoesntExist=�ļ���:%n%n%1%n%n�����ڡ����Ҫ������Ŀ¼��

; *** ��ѡ��������ҳ
WizardSelectComponents=ѡ����
SelectComponentsDesc=��밲װ��Щ���������
SelectComponentsLabel2=ѡ�����Ҫ��װ������������밲װ������Ȼ�󵥻�����һ���������
FullInstallation=��ȫ��װ
; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language)
CompactInstallation=��లװ
CustomInstallation=�Զ��尲װ
NoUninstallWarningTitle=������
NoUninstallWarning=��װ������⵽�����������ĵ����а�װ��:%n%n%1%n%nȡ�ѡ����Щ��������ж����ǡ�%n%n�һ��Ҫ�����
ComponentSize1=%1 KB
ComponentSize2=%1 MB
ComponentsDiskSpaceMBLabel=��ǰѡ����������Ҫ [mb] MB �Ĵ��̿ռ䡣

; *** ��ѡ�񸽼�������ҳ
WizardSelectTasks=ѡ�񸽼�����
SelectTasksDesc=���Ҫ��װ����ִ����Щ��������
SelectTasksLabel2=ѡ�����Ҫ��װ�����ڰ�װ [name] ʱִ�еĸ�������Ȼ�󵥻�����һ������

; *** ��ѡ��ʼ�˵��ļ��С���ҳ
WizardSelectProgramGroup=ѡ��ʼ�˵��ļ���
SelectStartMenuFolderDesc=����������ó���Ŀ�ݷ�ʽ��
SelectStartMenuFolderLabel3=��װ�������ڽ�����п�ʼ�˵��ļ����д�������Ŀ�ݷ�ʽ��
SelectStartMenuFolderBrowseLabel=��������һ��������������ѡ������ļ��У�������������
MustEnterGroupName=���������һ���ļ������
GroupNameTooLong=�ļ������·��̫����
InvalidGroupName=�ļ��������Ч�ġ�
BadGroupName=�ļ�������ܰ�������κ��ַ�:%n%n%1
NoProgramGroupCheck2=��������ʼ�˵��ļ���(&D)

; *** ��׼����װ����ҳ
WizardReady=׼����װ
ReadyLabel1=��װ��������׼����ʼ��װ [name] ����ĵ����С�
ReadyLabel2a=��������װ������˰�װ���������Ҫ�ع˻�ı����ã��뵥������һ������
ReadyLabel2b=��������װ������˰�װ����?
ReadyMemoUserInfo=�û���Ϣ:
ReadyMemoDir=Ŀ��λ��:
ReadyMemoType=��װ����:
ReadyMemoComponents=ѡ����:
ReadyMemoGroup=��ʼ�˵��ļ���:
ReadyMemoTasks=��������:

; *** �����׼����װ����ҳ
WizardPreparing=���׼����װ
PreparingDesc=��װ�������׼����װ [name] ����ĵ����С�
PreviousInstallNotCompleted=��ǰ����İ�װ/ж��δ��ɡ����Ҫ��������ĵ��Բ�����ɰ�װ��%n%n����������Ժ������а�װ��� [name] �İ�װ��
CannotContinue=��װ�����ܼ�����뵥����ȡ����˳���
ApplicationsFound=���Ӧ�ó������ʹ�õ��ļ���Ҫ�������á���ǽ��������װ�����Զ��ر���ЩӦ�ó���
ApplicationsFound2=���Ӧ�ó������ʹ�õ��ļ���Ҫ�������á���ǽ��������װ�����Զ��ر���ЩӦ�ó��򡣰�װ��ɺ󣬰�װ���򽫳���������Ӧ�ó���
CloseApplications=�Զ��رո�Ӧ�ó���(&A)
DontCloseApplications=��Ҫ�رո�Ӧ�ó���(D)
ErrorCloseApplications=��װ�����޷��Զ��ر����Ӧ�ó����ڼ��֮ǰ�����ǽ�����ر����ʹ����Ҫ���µİ�װ�����ļ���

; *** ����ڰ�װ����ҳ
WizardInstalling=��ڰ�װ
InstallingLabel=��װ������ڰ�װ [name] ����ĵ����У����Եȡ�

; *** ����װ��ɡ���ҳ
FinishedHeadingLabel=[name] ��װ���
FinishedLabelNoIcons=��װ����������ĵ����а�װ�� [name]��
FinishedLabel=��װ����������ĵ����а�װ�� [name]����Ӧ�ó������ͨ��ѡ��װ�Ŀ�ݷ�ʽ���С�
ClickFinish=��������ɡ��˳���װ����
FinishedRestartLabel=Ҫ��� [name] �İ�װ����װ���������������ĵ��ԡ����������������
FinishedRestartMessage=Ҫ��� [name] �İ�װ����װ���������������ĵ��ԡ�%n%n���������������
ShowReadmeCheck=�ǣ�����������ļ�
YesRadio=�ǣ��������������(&Y)
NoRadio=���Ժ����������(&N)
; ���������� MyProg.exe��
RunEntryExec=���� %1
; �����󡰲��� Readme.txt��
RunEntryShellExec=���� %1

; *** ����װ������Ҫ��һ�Ŵ��̡���ʾ
ChangeDiskTitle=��װ������Ҫ��һ�Ŵ���
SelectDiskLabel2=�������� %1 ��������ȷ������%n%n���������е��ļ������ڲ�ͬ�������ʾ���ļ������ҵ��������ȷ��·���򵥻���������
PathLabel=·��(&P):
FileNotInDir2=�ļ���%1�������ڡ�%2����λ��������ȷ�Ĵ��̻�ѡ������ļ��С�
SelectDirectoryLabel=��ָ����һ�Ŵ��̵�λ�á�

; *** ��װ״̬�Ϣ
SetupAborted=��װ����δ��ɰ�װ��%n%n����������Ⲣ�������а�װ����
AbortRetryIgnoreSelectAction=ѡ��
AbortRetryIgnoreRetry=����(&T)
AbortRetryIgnoreIgnore=���Դ��󲢼��(&I)
AbortRetryIgnoreCancel=�رհ�װ����

; *** ��װ״̬�Ϣ
StatusClosingApplications=��ڹر�Ӧ�ó���...
StatusCreateDirs=��ڴ���Ŀ¼...
StatusExtractFiles=��ڽ�ѹ��ļ�...
StatusCreateIcons=��ڴ�����ݷ�ʽ...
StatusCreateIniEntries=��ڴ��� INI �Ŀ...
StatusCreateRegistryEntries=��ڴ���ע����Ŀ...
StatusRegisterFiles=���ע���ļ�...
StatusSavingUninstall=��ڱ���ж����Ϣ...
StatusRunProgram=�����ɰ�װ...
StatusRestartingApplications=�������Ӧ�ó���...
StatusRollback=��ڳ������...

; *** �������
ErrorInternal2=�ڲ�����: %1
ErrorFunctionFailedNoCode=%1 ʧ��
ErrorFunctionFailed=%1 ʧ�ܣ����� %2
ErrorFunctionFailedWithMessage=%1 ʧ�ܣ����� %2.%n%3
ErrorExecutingProgram=����ִ���ļ�:%n%1

; *** ע������
ErrorRegOpenKey=�����ע���:%n%1\%2
ErrorRegCreateKey=���󴴽�ע���:%n%1\%2
ErrorRegWriteKey=����д��ע���:%n%1\%2

; *** INI ����
ErrorIniEntry=���ļ���%1������ INI ��Ŀ����

; *** �ļ����ƴ���
FileAbortRetryIgnoreSkipNotRecommended=������ļ� (���Ƽ�)(&S)
FileAbortRetryIgnoreIgnoreNotRecommended=���Դ��󲢼�� (���Ƽ�)(&I)
SourceIsCorrupted=Դ�ļ����ƻ�
SourceDoesntExist=Դ�ļ���%1��������
ExistingFileReadOnly2=�޷��滻�����ļ�����Ϊ���ֻ���ġ�
ExistingFileReadOnlyRetry=�Ƴ�ֻ�����Բ�����(&R)
ExistingFileReadOnlyKeepExisting=���������ļ�(&K)
ErrorReadingExistingDest=���Զ������е��ļ�ʱ���һ������:
FileExists=�ļ��Ѿ����ڡ�%n%n���Ҫ��װ���򸲸����
ExistingFileNewer=���е��ļ����밲װ����Ҫ��װ���ļ����Ƽ�����������ļ���%n%n���Ҫ�������е��ļ���
ErrorChangingAttr=���Ըı�������е��ļ�������ʱ���һ������:
ErrorCreatingTemp=������Ŀ��Ŀ¼�����ļ�ʱ���һ������:
ErrorReadingSource=���Զ�ȡ���Դ�ļ�ʱ���һ������:
ErrorCopying=���Ը�������ļ�ʱ���һ������:
ErrorReplacingExistingFile=�����滻���е��ļ�ʱ�������:
ErrorRestartReplace=������Ժ��滻�ļ�ʧ��:
ErrorRenamingTemp=��������������Ŀ��Ŀ¼�е�һ���ļ�ʱ�������:
ErrorRegisterServer=����ע�� DLL/OCX: %1
ErrorRegSvr32Failed=RegSvr32 ʧ�ܣ��˳����� %1
ErrorRegisterTypeLib=����ע����Ϳ�: %1

; *** Uninstall display name markings
; used for example as 'My Program (32-bit)'
UninstallDisplayNameMark=%1 (%2)
; used for example as 'My Program (32-bit, All users)'
UninstallDisplayNameMarks=%1 (%2, %3)
UninstallDisplayNameMark32Bit=32λ
UninstallDisplayNameMark64Bit=64λ
UninstallDisplayNameMarkAllUsers=����û�
UninstallDisplayNameMarkCurrentUser=��ǰ�û�

; *** ��װ�����
ErrorOpeningReadme=�����Դ�����ļ�ʱ���һ������
ErrorRestartingComputer=��װ��������������ԣ����ֶ�����

; *** ж���Ϣ
UninstallNotFound=�ļ���%1�������ڡ�����ж�ء�
UninstallOpenError=�ļ���%1�����ܴ򿪡�����ж��
UninstallUnsupportedVer=ж����־�ļ���%1����δ�����汾��ж������ϵĸ�ʽ������ж��
UninstallUnknownEntry=��ж����־�����һ��δ֪���Ŀ (%1)
ConfirmUninstall=�ȷ����Ҫ��ȫɾ�� %1 ������������
UninstallOnlyOnWin64=����װ����ֻ���� 64 λ Windows �н���ж�ء�
OnlyAdminCanUninstall=����װ�ij���ֻ�����й��ԱȨ�޵��û�����ж�ء�
UninstallStatusLabel=��ڴ���ĵ�����ɾ�� %1����ȴ���
UninstalledAll=%1 ��˳���ش���ĵ�����ɾ����
UninstalledMost=%1 ж����ɡ�%n%n��һЩ���ݲ��ܱ�ɾ����������ֹ�ɾ����ǡ�
UninstalledAndNeedsRestart=Ҫ��� %1 ��ж�أ���ĵ��Ա����������%n%n������������������
UninstallDataCorrupted=��%1���ļ����ƻ�������ж��

; *** ж��״̬�Ϣ
ConfirmDeleteSharedFileTitle=ɾ�������ļ���
ConfirmDeleteSharedFile2=ϵͳ�а�������й����ļ��Ѿ������������ʹ�á����Ҫж�س���ɾ����Щ�����ļ���%n%n����Щ�ļ���ɾ���������г������ʹ����Щ�ļ�����Щ������ܲ����ȷִ�С��������ȷ����ѡ�񡰷񡱡�����Щ�ļ�������ϵͳ������������⡣
SharedFileNameLabel=�ļ��:
SharedFileLocationLabel=�:
WizardUninstalling=ж��״̬
StatusUninstalling=���� %1...

; *** Shutdown block reasons
ShutdownBlockReasonInstallingApp=��ڰ�װ %1.
ShutdownBlockReasonUninstallingApp=���� %1.

; The custom messages below aren't used by Setup itself, but if you make
; use of them in your scripts, you'll want to translate them.

[CustomMessages]

NameAndVersion=%1 �汾 %2
AdditionalIcons=���ӿ�ݷ�ʽ:
CreateDesktopIcon=��������ݷ�ʽ(&D)
CreateQuickLaunchIcon=���������������ݷ�ʽ(&Q)
ProgramOnTheWeb=%1 �վ
UninstallProgram=� %1
LaunchProgram=���� %1
AssocFileExtension=�� %2 �ļ���չ��� %1 �������(&A)
AssocingFileExtension=��ڽ� %2 �ļ���չ��� %1 �������...
AutoStartProgramGroupDescription=����:
AutoStartProgram=�Զ��� %1
AddonHostProgramNotFound=%1�޷��ҵ���ѡ����ļ��С�%n%n��������

lazarus.zh_CN.isl (3,823 bytes)   
#include "ChineseSimplified_from_inno_6_0.isl"
; Last-Translator: ֣��ƽ@����Ƽ aka  robsean <robsean@126.com>\n"
[CustomMessages]


DelUserConf=ɾ��������ǰ��װ������û������ļ�
CleanUp=���:

InstallQt=ȫ�ְ�װQt�ӿ�DLL
InstallChm=��װCHM����ļ�
AssociateGroup=����ļ���չ�

CheckSecondClick=����һ���µĵڶ��İ�װ
CheckSecondInfo=һ���ڶ��İ�װ����Lazarus��������汾����װ.ÿ���汾������Լ�������.����ʹ����ѡ��ǰ�Ķ����ڶ���װ��FAQ.

FolderHasSpaces=ѡ����ļ��а����ո�,��ѡ��һ�������пո���ļ���.
FolderNotEmpty=Ŀ���ļ��в��ǿյ�.�����װ?
FolderNotEmpty2=Ŀ���ļ��в��ǿյ�.

FolderForSecondNoFile=Ŀ���ļ��в��ǿյ�,��������һ��������ĵڶ���Lazarus��װ.%0:s��ѡ��һ�����ļ���,������������Ĵ���һ�����ڵĵڶ���Lazarus��װ��һ���ļ���.
FolderForSecondBadFile=Ŀ���ļ��в��ǿյ�.��װ����ܲ���Ƿ��һ��������ĵڶ���Lazarus��װ.%0:s��ѡ��һ�����ļ���, ������������Ĵ���һ�����ڵĵڶ���Lazarus��װ��һ���ļ���.
FolderForSecondUpgrading=Ŀ���ļ��в��ǿյ�.%0:s�����һ���ڶ���Lazarus��װ��ʹ��������ļ�����������:%0:s%1:s%0:s%0:s�����װ?
FolderForSecondUpgradingPrimary=Ŀ���ļ��в��ǿյ�.%0:s�����һ��Ĭ�ϵ�(�ǵڶ���)Lazarus��װ.%0:s��������������ĵ�һ���ڶ��İ�װ.%0:s%0:s%0:s�����װ?

FolderForSecondBadUninstall=Ŀ���ļ��в��ǿյ�.��װ����ܺ�ʵ��Ƿ��ǰ�ȫ���ʹ��.%0:s��ѡ��һ�����ļ���,��һ�����д��ڵĵڶ���Lazarus��װ�ģ����ڸ��µ�һ���ļ���.

SecondConfCapt=ѡ�������ļ���
SecondConfCapt2=��ϣ���Lazarus��װ�����洢�������?
SecondConfBody=ѡ��һ���µ�������Lazarus��װ�Ŀ��ļ�����洢������ã�Ȼ��ʹ��'Next'���.

FolderForConfig=�������ļ���

FolderForConfNotEmpty=ѡ����ļ��в��ǿյ�.

AskUninstallTitle1=��ǰ�İ�װ
AskUninstallTitle2=����Ҫ����ж���?
BtnUninstall=�
ChkContinue=��������

OldInDestFolder1=��һ��%1:s�İ�װ������Ŀ���ļ���.��������ж��,��ʹ������İ�ť.
OldInDestFolder2=
OldInDestFolder3=
OldInDestFolder4=

OldInOtherFolder1=��һ��%1:s�İ�װ���ҵ�����%2:s.������ʹ������İ�ť��ж���.�����뱣�������򹴸�ѡ����.
OldInOtherFolder2=����:�������ڲ�ͬ�İ�װ֮���ͻ��������ǿ���û��������Ĺ���.
OldInOtherFolder3=ע��:��û��Ϊ����װѡ��һ��ר�õ������ļ���.
OldInOtherFolder4=������ʹ�ö���װ���뷵�غʹ�: "����һ���µĵڶ��İ�װ".

OldInBadFolder1=����:��һ��%1:s�İ�װ���ҵ�����%2:s,����ж������ҵ�����%3:s. ��ȷ��ж������ȷ��.
OldInBadFolder2=����:�������ڲ�ͬ�İ�װ֮���ͻ��������ǿ���û��������Ĺ���.
OldInBadFolder3=ע��:������ʹ�ö���װ���뷵�غʹ�: "����һ���µĵڶ��İ�װ".
OldInBadFolder4=������ʹ������İ�ť��ж���.�����뱣���,��򹴸�ѡ����.

OldSecondInDestFolder1=��һ��%1:s��װ������Ŀ���ļ���.��������ж��,��ʹ������İ�ť.
OldSecondInDestFolder2=
OldSecondInDestFolder3=����һ���ڶ��İ�װ���������õ��ļ�����(����������):
OldSecondInDestFolder4=%4:s

OldSecondInOtherFolder1=
OldSecondInOtherFolder2=
OldSecondInOtherFolder3=
OldSecondInOtherFolder4=

OldSecondInBadFolder1=
OldSecondInBadFolder2=
OldSecondInBadFolder3=
OldSecondInBadFolder4=

SecondTaskUpdate=�������ڵڶ��İ�װ�����ã����ļ�����:%0:s%1:s%2:s
SecondTaskCreate=�������ڵڶ��İ�װ�����ã����ļ�����:%0:s%1:s%2:s

DuringInstall=Lazarus���ķ��루QQ��192903718�������dz����������һЩ��Ϣ: http://wiki.lazarus.freepascal.org/Lazarus_Faq%0:s%0:s    Lazarus��ʲô?%0:sLazarus��Pascal��һ����ƽ̨IDE.���Ŀ����һ�α�д,��������.%0:s%0:s    ��μ���exe�ļ��Ĵ�С?%0:sĬ�϶������ļ��Ƿdz����,��Ϊ��ǰ���������Ϣ.���ڷ����汾,������ڹ����������л�ȡ���.%0:s%0:s    ���:%0:s- LCL�����Ϊ���ӳ����LGPL.�����������������κ���������ɵ�Ӧ�ó���,����ר�е�.%0:s- IDE�����ΪGPL.���㷢��һ���޸ĵ�IDE,�������ѭGPL.%0:s- ��������������и��ָ�������.��ÿ��������readme�ļ�.

UninstVerbose=�������ļ���%0:sж��%1:s.���?
lazarus.zh_CN.isl (3,823 bytes)   
Lazarus-demo.exe (647,667 bytes)
change.png (37,773 bytes)   
change.png (37,773 bytes)   

Martin Friebe

2019-05-03 18:17

manager   ~0115980

new test build
lazarus-DUMMY-2.exe (651,619 bytes)

Martin Friebe

2019-05-03 18:41

manager   ~0115982

Committed:
Revision: 61118

Thanks for the help with the files

Please test and close if ok

robsean

2019-05-04 02:13

reporter   ~0115990

Hi
   Yes , It is OK . Thank you .

Issue History

Date Modified Username Field Change
2019-04-29 05:16 robsean New Issue
2019-04-29 05:16 robsean File Added: lazarus.iss
2019-04-29 14:05 Martin Friebe Relationship added related to 0035193
2019-04-29 14:11 Martin Friebe Assigned To => Martin Friebe
2019-04-29 14:11 Martin Friebe Status new => feedback
2019-04-29 14:11 Martin Friebe LazTarget => -
2019-04-29 14:11 Martin Friebe Note Added: 0115893
2019-04-29 14:22 Martin Friebe Note Added: 0115894
2019-04-29 14:40 Martin Friebe File Added: lazarus-DUMMY.exe
2019-04-29 14:40 Martin Friebe Note Added: 0115895
2019-04-30 03:51 robsean Note Added: 0115905
2019-04-30 03:51 robsean Status feedback => assigned
2019-04-30 12:21 Martin Friebe Status assigned => feedback
2019-04-30 12:21 Martin Friebe Note Added: 0115918
2019-05-02 11:02 robsean Note Added: 0115947
2019-05-02 11:02 robsean Status feedback => assigned
2019-05-02 16:47 Martin Friebe Status assigned => feedback
2019-05-02 16:47 Martin Friebe Note Added: 0115961
2019-05-03 06:07 robsean File Added: ChineseSimplified_from_inno_6_0.isl
2019-05-03 06:07 robsean File Added: lazarus.zh_CN.isl
2019-05-03 06:07 robsean File Added: Lazarus-demo.exe
2019-05-03 06:07 robsean File Added: change.png
2019-05-03 06:07 robsean Note Added: 0115969
2019-05-03 06:07 robsean Status feedback => assigned
2019-05-03 18:17 Martin Friebe File Added: lazarus-DUMMY-2.exe
2019-05-03 18:17 Martin Friebe Note Added: 0115980
2019-05-03 18:41 Martin Friebe Status assigned => resolved
2019-05-03 18:41 Martin Friebe Resolution open => fixed
2019-05-03 18:41 Martin Friebe Fixed in Version => 2.0.4
2019-05-03 18:41 Martin Friebe Fixed in Revision => 61118
2019-05-03 18:41 Martin Friebe LazTarget - => 2.0.4
2019-05-03 18:41 Martin Friebe Widgetset => Win32/Win64
2019-05-03 18:41 Martin Friebe Note Added: 0115982
2019-05-04 02:13 robsean Note Added: 0115990
2019-05-04 08:53 robsean Status resolved => closed