vn-access/setup.iss

284 lines
10 KiB
Plaintext

#define MyAppName "Verdnatura"
#define MyAppVersion "7"
#define MyAppPublisher "Verdnatura"
#define MyAppURL "https://www.verdnatura.es/"
[Setup]
; NOTE: The value of AppId uniquely identifies this application.
AppId={{1BFBC7A1-64B3-41E0-8A8E-0D29043EA8A3}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
CreateAppDir=yes
DefaultDirName={commonpf}\{#MyAppName}
DefaultGroupName={#MyAppName}
WizardSmallImageFile=img\iss\wizard-small.bmp
WizardImageFile=img\iss\wizard.bmp
LicenseFile=src\LICENSE.txt
SetupIconFile=src\icon.ico
UninstallDisplayIcon={app}\icon.ico
Compression=lzma
SolidCompression=yes
PrivilegesRequired=admin
DisableStartupPrompt=yes
OutputDir=..
OutputBaseFilename=vn-access
;SignTool=signtool.exe sign \
/a /f $qC:\cert.pfx$q /n $q{#MyAppPublisher}$q /t http://timestamp.comodoca.com/authenticode /d $q{#MyAppName}$q $f
[Languages]
Name: "es"; MessagesFile: "compiler:Languages\Spanish.isl"
[Dirs]
Name: "{app}"; \
Flags: uninsalwaysuninstall
Name: "{sd}\fotos"; \
Flags: uninsalwaysuninstall; \
Permissions: users-modify
[Files]
Source: "deps\*"; \
DestDir: {tmp}; Flags: deleteafterinstall; AfterInstall: InstallExe;
Source: "odbc\*"; \
DestDir: {tmp}; Flags: deleteafterinstall; AfterInstall: InstallMsi;
Source: "src\*"; \
DestDir: "{app}"; Flags: ignoreversion
Source: "img\branches\*"; \
DestDir: "{app}\branches"; Flags: ignoreversion
Source: "img\datasources\*"; \
DestDir: "{app}\datasources"; Flags: ignoreversion
Source: "img\api-sources\*"; \
DestDir: "{app}\apiSources"; Flags: ignoreversion
Source: "img\app-icons\*"; \
DestDir: "{app}\icons"; Flags: ignoreversion
Source: "ocx\*"; \
DestDir: {sys}; Flags: onlyifdoesntexist regserver 32bit
; Roboto ToDo: Loop in code to install all fonts into folder
Source: "fonts\Roboto\Roboto-Black.ttf"; DestDir: "{commonfonts}"; \
FontInstall: "Roboto-Black"; Flags: onlyifdoesntexist uninsneveruninstall
Source: "fonts\Roboto\Roboto-BlackItalic.ttf"; DestDir: "{commonfonts}"; \
FontInstall: "Roboto-BlackItalic"; Flags: onlyifdoesntexist uninsneveruninstall
Source: "fonts\Roboto\Roboto-Bold.ttf"; DestDir: "{commonfonts}"; \
FontInstall: "Roboto-Bold"; Flags: onlyifdoesntexist uninsneveruninstall
Source: "fonts\Roboto\Roboto-BoldItalic.ttf"; DestDir: "{commonfonts}"; \
FontInstall: "Roboto-BoldItalic"; Flags: onlyifdoesntexist uninsneveruninstall
Source: "fonts\Roboto\Roboto-Italic.ttf"; DestDir: "{commonfonts}"; \
FontInstall: "Roboto-Italic"; Flags: onlyifdoesntexist uninsneveruninstall
Source: "fonts\Roboto\Roboto-Light.ttf"; DestDir: "{commonfonts}"; \
FontInstall: "Roboto-Light"; Flags: onlyifdoesntexist uninsneveruninstall
Source: "fonts\Roboto\Roboto-LightItalic.ttf"; DestDir: "{commonfonts}"; \
FontInstall: "Roboto-LightItalic"; Flags: onlyifdoesntexist uninsneveruninstall
Source: "fonts\Roboto\Roboto-Medium.ttf"; DestDir: "{commonfonts}"; \
FontInstall: "Roboto-Medium"; Flags: onlyifdoesntexist uninsneveruninstall
Source: "fonts\Roboto\Roboto-MediumItalic.ttf"; DestDir: "{commonfonts}"; \
FontInstall: "Roboto-MediumItalic"; Flags: onlyifdoesntexist uninsneveruninstall
Source: "fonts\Roboto\Roboto-Regular.ttf"; DestDir: "{commonfonts}"; \
FontInstall: "Roboto-Regular"; Flags: onlyifdoesntexist uninsneveruninstall
Source: "fonts\Roboto\Roboto-Thin.ttf"; DestDir: "{commonfonts}"; \
FontInstall: "Roboto-Thin"; Flags: onlyifdoesntexist uninsneveruninstall
Source: "fonts\Roboto\Roboto-ThinItalic.ttf"; DestDir: "{commonfonts}"; \
FontInstall: "Roboto-ThinItalic"; Flags: onlyifdoesntexist uninsneveruninstall
; Poppins
Source: "fonts\Poppins\Poppins-Regular.ttf"; DestDir: "{commonfonts}"; \
FontInstall: "Poppins-Regular.ttf"; Flags: onlyifdoesntexist uninsneveruninstall
Source: "fonts\Poppins\Poppins-Thin.ttf"; DestDir: "{commonfonts}"; \
FontInstall: "Poppins-Thin"; Flags: onlyifdoesntexist uninsneveruninstall
Source: "fonts\Poppins\Poppins-Bold.ttf"; DestDir: "{commonfonts}"; \
FontInstall: "Poppins-Bold"; Flags: onlyifdoesntexist uninsneveruninstall
Source: "fonts\Poppins\Poppins-Italic.ttf"; DestDir: "{commonfonts}"; \
FontInstall: "Poppins-Italic"; Flags: onlyifdoesntexist uninsneveruninstall
; Codes
Source: "fonts\Code128B.ttf"; DestDir: "{commonfonts}"; \
FontInstall: "Code128B"; Flags: onlyifdoesntexist uninsneveruninstall
Source: "fonts\Code128L.ttf"; DestDir: "{commonfonts}"; \
FontInstall: "Code128L"; Flags: onlyifdoesntexist uninsneveruninstall
Source: "fonts\CCode39.ttf"; DestDir: "{commonfonts}"; \
FontInstall: "CCode39"; Flags: onlyifdoesntexist uninsneveruninstall
Source: "fonts\Free 3 of 9.ttf"; DestDir: "{commonfonts}"; \
FontInstall: "Free 3 of 9"; Flags: onlyifdoesntexist uninsneveruninstall
Source: "fonts\Free 3 of 9 Extended.ttf"; DestDir: "{commonfonts}"; \
FontInstall: "Free 3 of 9 Extended"; Flags: onlyifdoesntexist uninsneveruninstall
Source: "fonts\IDAutomationHC39M.ttf"; DestDir: "{commonfonts}"; \
FontInstall: "IDAutomationHC39M"; Flags: onlyifdoesntexist uninsneveruninstall
Source: "fonts\MRV Code39extMA.ttf"; DestDir: "{commonfonts}"; \
FontInstall: "MRV Code39extMA"; Flags: onlyifdoesntexist uninsneveruninstall
[Tasks]
Name: "desktopicon"; \
Description: "{cm:CreateDesktopIcon}"; \
GroupDescription: "{cm:AdditionalIcons}";
[Components]
Name: "tpv"; \
Description: "Terminal Punto Venta"; \
Types: full compact
Name: "ent"; \
Description: "Entradas"; \
Types: full compact
Name: "com"; \
Description: "Comparativa"; \
Types: full compact
Name: "enc"; \
Description: "Encajado"; \
Types: full
Name: "eti"; \
Description: "Etiquetas"; \
Types: full
Name: "lab"; \
Description: "Laboral"; \
Types: full
Name: "vn"; \
Description: "Library"; \
Types: full
[Icons]
Name: "{group}\Terminal Punto Venta"; \
Parameters: "tpv"; \
Components: tpv; \
IconFileName: "{app}\icons\tpv.ico"; \
FileName: "{app}\vn-access.hta"; \
WorkingDir: "{app}"
Name: "{group}\Entradas"; \
Parameters: "ent"; \
Components: ent; \
IconFileName: "{app}\icons\ent.ico"; \
FileName: "{app}\vn-access.hta"; \
WorkingDir: "{app}"
Name: "{group}\Comparativa"; \
Parameters: "com"; \
Components: com; \
IconFileName: "{app}\icons\com.ico"; \
FileName: "{app}\vn-access.hta"; \
WorkingDir: "{app}"
Name: "{group}\Encajado"; \
Parameters: "enc"; \
Components: enc; \
IconFileName: "{app}\icons\enc.ico"; \
FileName: "{app}\vn-access.hta"; \
WorkingDir: "{app}"
Name: "{group}\Etiquetas"; \
Parameters: "eti"; \
Components: eti; \
IconFileName: "{app}\icons\eti.ico"; \
FileName: "{app}\vn-access.hta"; \
WorkingDir: "{app}"
Name: "{group}\Laboral"; \
Parameters: "lab"; \
Components: lab; \
IconFileName: "{app}\icons\lab.ico"; \
FileName: "{app}\vn-access.hta"; \
WorkingDir: "{app}"
Name: "{group}\Library"; \
Parameters: "vn"; \
Components: vn; \
IconFileName: "{app}\icons\vn.ico"; \
FileName: "{app}\vn-access.hta"; \
WorkingDir: "{app}"
; Desktop icons
Name: "{commondesktop}\Terminal Punto Venta"; \
Parameters: "tpv"; \
Components: tpv; \
IconFileName: "{app}\icons\tpv.ico"; \
FileName: "{app}\vn-access.hta"; \
WorkingDir: "{app}"; \
Tasks: desktopicon
Name: "{commondesktop}\Entradas"; \
Parameters: "ent"; \
Components: ent; \
IconFileName: "{app}\icons\ent.ico"; \
FileName: "{app}\vn-access.hta"; \
WorkingDir: "{app}"; \
Tasks: desktopicon
Name: "{commondesktop}\Comparativa"; \
Parameters: "com"; \
Components: com; \
IconFileName: "{app}\icons\com.ico"; \
FileName: "{app}\vn-access.hta"; \
WorkingDir: "{app}"; \
Tasks: desktopicon
Name: "{commondesktop}\Encajado"; \
Parameters: "enc"; \
Components: enc; \
IconFileName: "{app}\icons\enc.ico"; \
FileName: "{app}\vn-access.hta"; \
WorkingDir: "{app}"; \
Tasks: desktopicon
Name: "{commondesktop}\Etiquetas"; \
Parameters: "eti"; \
Components: eti; \
IconFileName: "{app}\icons\eti.ico"; \
FileName: "{app}\vn-access.hta"; \
WorkingDir: "{app}"; \
Tasks: desktopicon
Name: "{commondesktop}\Laboral"; \
Parameters: "lab"; \
Components: lab; \
IconFileName: "{app}\icons\lab.ico"; \
FileName: "{app}\vn-access.hta"; \
WorkingDir: "{app}"; \
Tasks: desktopicon
Name: "{commondesktop}\Library"; \
Parameters: "vn"; \
Components: vn; \
IconFileName: "{app}\icons\vn.ico"; \
FileName: "{app}\vn-access.hta"; \
WorkingDir: "{app}"; \
Tasks: desktopicon
[Code]
procedure InstallExe;
var
StatusText: String;
ResultCode: Integer;
ExeFile: String;
begin
ExeFile := ExpandConstant(CurrentFilename);
StatusText := WizardForm.StatusLabel.Caption;
WizardForm.StatusLabel.Caption := CurrentFilename +'...';
WizardForm.ProgressGauge.Style := npbstMarquee;
Log(WizardSelectedComponents(False));
try
if not Exec(ExeFile, '/Q', '', SW_SHOW, ewWaitUntilTerminated, ResultCode) then
begin
MsgBox(CurrentFilename +' installation failed with code: ' + IntToStr(ResultCode) + '.',
mbError, MB_OK);
WizardForm.Close;
end;
finally
WizardForm.StatusLabel.Caption := StatusText;
WizardForm.ProgressGauge.Style := npbstNormal;
end;
end;
procedure InstallMsi;
var
StatusText: String;
ResultCode: Integer;
MsiFile: String;
begin
MsiFile := ExpandConstant(CurrentFilename);
StatusText := WizardForm.StatusLabel.Caption;
WizardForm.StatusLabel.Caption := CurrentFilename +'...';
WizardForm.ProgressGauge.Style := npbstMarquee;
Log(WizardSelectedComponents(False));
try
if not Exec('msiexec', '/quiet /i '+ MsiFile, '', SW_SHOW, ewWaitUntilTerminated, ResultCode) then
begin
MsgBox(CurrentFilename +' installation failed with code: ' + IntToStr(ResultCode) + '.',
mbError, MB_OK);
WizardForm.Close;
end;
finally
WizardForm.StatusLabel.Caption := StatusText;
WizardForm.ProgressGauge.Style := npbstNormal;
end;
end;