#define PROGRAMNAME "Ink/Stitch" ;inkstitch-version #define AppId "org.inkstitch.app" #define MyAppPublisher "Inkstitch Open Source Community" #define URL "https://inkstitch.org/" ;inkstitch-year #define PATHTODIST "..\dist" #define INXPATH "..\inx" [Setup] ; NOTE: The value of AppId uniquely identifies this application. Do not use the same AppId value in installers for other applications. ; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) LanguageDetectionMethod=uilanguage ;AppId={{C78E6C6F-C47E-4319-AF5A-E71387AE2D4E} AppId={#AppId} AppName={#PROGRAMNAME} AppVersion={#VERSION} ;AppVerName={#MyAppName} {#MyAppVersion} AppPublisherURL={#URL} AppSupportURL={#URL} AppUpdatesURL={#URL} DefaultDirName={userappdata}\inkscape\extensions\ DefaultGroupName={#PROGRAMNAME} ; Remove the following line to run in administrative install mode (install for all users.) ArchitecturesAllowed=x64 PrivilegesRequired=lowest OutputBaseFilename=inkstitch OutputDir=. Compression=lzma SolidCompression=yes VersionInfoCompany={#URL} VersionInfoCopyright=Copyright (C) {#COPYRIGHT} VersionInfoDescription=An open-source machine embroidery design platform based on Inkscape. VersionInfoTextVersion={#VERSION} WizardStyle=modern ShowLanguageDialog=no [Languages] Name: "english"; MessagesFile: "compiler:Default.isl" Name: "armenian"; MessagesFile: "compiler:Languages\Armenian.isl" Name: "brazilian"; MessagesFile: "compiler:Languages\BrazilianPortuguese.isl" Name: "catalan"; MessagesFile: "compiler:Languages\Catalan.isl" Name: "corsican"; MessagesFile: "compiler:Languages\Corsican.isl" Name: "czech"; MessagesFile: "compiler:Languages\Czech.isl" Name: "danish"; MessagesFile: "compiler:Languages\Danish.isl" Name: "german"; MessagesFile: "compiler:Languages\German.isl" Name: "hebrew"; MessagesFile: "compiler:Languages\Hebrew.isl" Name: "icelandic"; MessagesFile: "compiler:Languages\Icelandic.isl" Name: "norwegian"; MessagesFile: "compiler:Languages\Norwegian.isl" Name: "polish"; MessagesFile: "compiler:Languages\Polish.isl" Name: "portuguese"; MessagesFile: "compiler:Languages\Portuguese.isl" Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl" Name: "finnish"; MessagesFile: "compiler:Languages\Finnish.isl" Name: "french"; MessagesFile: "compiler:Languages\French.isl" Name: "italian"; MessagesFile: "compiler:Languages\Italian.isl" Name: "japanese"; MessagesFile: "compiler:Languages\Japanese.isl" Name: "dutch"; MessagesFile: "compiler:Languages\Dutch.isl" Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl" Name: "slovak"; MessagesFile: "compiler:Languages\Slovak.isl" Name: "slovenian"; MessagesFile: "compiler:Languages\Slovenian.isl" Name: "turkish"; MessagesFile: "compiler:Languages\Turkish.isl" Name: "ukrainian"; MessagesFile: "compiler:Languages\Ukrainian.isl" [Types] Name: "English"; Description: "English"; [Files] Source: "{#PATHTODIST}\inkstitch\*"; DestDir: "{app}\inkstitch\inkstitch"; Flags: ignoreversion recursesubdirs createallsubdirs ; NOTE: Don't use "Flags: ignoreversion" on any shared system files [Code] function InitializeSetup(): Boolean; begin Result := True; if RegKeyExists(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{#AppId}_is1') or RegKeyExists(HKEY_CURRENT_USER, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{#AppId}_is1') then begin MsgBox('The application is installed already.', mbInformation, MB_OK); Result := False; end; end;