; Script generated by the Inno Setup Script Wizard. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! #define MyAppName "ODM" #define VerFile FileOpen("VERSION") #define MyAppVersion FileRead(VerFile) #expr FileClose(VerFile) #undef VerFile #define MyAppPublisher "OpenDroneMap" #define MyAppURL "https://opendronemap.org" [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.) AppId={{443998BA-9F8F-4A69-9A96-0D8FBC8C6393} AppName={#MyAppName} AppVersion={#MyAppVersion} AppPublisher={#MyAppPublisher} AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} DefaultDirName=C:\ODM DefaultGroupName={#MyAppName} AllowNoIcons=yes LicenseFile=LICENSE OutputDir=dist OutputBaseFilename=ODM_Setup_{#MyAppVersion} Compression=lzma SolidCompression=yes ArchitecturesAllowed=x64 SignTool=signtool PrivilegesRequired=lowest UsePreviousAppDir=no ;SetupIconFile=setup.ico [Languages] Name: "english"; MessagesFile: "compiler:Default.isl" [Files] Source: "contrib\*"; DestDir: "{app}\contrib"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "licenses\*"; DestDir: "{app}\licenses"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "opendm\*"; DestDir: "{app}\opendm"; Excludes: "__pycache__"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "stages\*"; DestDir: "{app}\stages"; Excludes: "__pycache__"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "SuperBuild\install\bin\*"; DestDir: "{app}\SuperBuild\install\bin"; Excludes: "__pycache__"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "venv\*"; DestDir: "{app}\venv"; Excludes: "__pycache__,pyvenv.cfg"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "python38\*"; DestDir: "{app}\python38"; Excludes: "__pycache__"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "console.bat"; DestDir: "{app}"; Flags: ignoreversion Source: "VERSION"; DestDir: "{app}"; Flags: ignoreversion Source: "LICENSE"; DestDir: "{app}"; Flags: ignoreversion Source: "run.bat"; DestDir: "{app}"; Flags: ignoreversion Source: "run.py"; DestDir: "{app}"; Flags: ignoreversion Source: "settings.yaml"; DestDir: "{app}"; Flags: ignoreversion Source: "win32env.bat"; DestDir: "{app}"; Flags: ignoreversion Source: "winrun.bat"; DestDir: "{app}"; Flags: ignoreversion Source: "SuperBuild\download\vc_redist.x64.exe"; DestDir: {tmp}; Flags: dontcopy [Icons] Name: {group}\ODM Console; Filename: "{app}\console.bat"; WorkingDir: "{app}" Name: "{userdesktop}\ODM Console"; Filename: "{app}\console.bat"; WorkingDir: "{app}"; Tasks: desktopicon [Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked [Run] Filename: "{tmp}\vc_redist.x64.exe"; StatusMsg: "Installing Visual C++ Redistributable Packages for Visual Studio 2019"; Parameters: "/quiet"; Check: VC2019RedistNeedsInstall ; Flags: waituntilterminated Filename: "{app}\console.bat"; Description: {cm:LaunchProgram,ODM Console}; Flags: nowait postinstall skipifsilent [Code] function VC2019RedistNeedsInstall: Boolean; var Version: String; begin if RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes\x64', 'Version', Version) then begin // Is the installed version at least 14.14 ? Log('VC Redist Version check : found ' + Version); Result := (CompareStr(Version, 'v14.14.26429.03')<0); end else begin // Not even an old version installed Result := True; end; if (Result) then begin ExtractTemporaryFile('vc_redist.x64.exe'); end; end;