#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;