; Script used to generate SFTPGo's Windows setup ; You need to change the paths for the source files to match your environment #define MyAppName "SFTPGo" #define MyAppVersion "0.9.6.1" #define MyAppURL "https://github.com/drakkan/sftpgo" #define MyAppExeName "sftpgo.exe" #define MyAppDir "C:\Users\vbox\Desktop\sftpgo_setup" #define MyOutputDir "C:\Users\vbox\Desktop" [Setup] AppId={{1FB9D57F-00DD-4B1B-8798-1138E5CE995D} AppName={#MyAppName} AppVersion={#MyAppVersion} ;AppVerName={#MyAppName} {#MyAppVersion} AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} DefaultDirName={autopf}\{#MyAppName} DefaultGroupName={#MyAppName} LicenseFile={#MyAppDir}\LICENSE.txt OutputDir={#MyOutputDir} OutputBaseFilename=sftpgo_windows_x86_64 Compression=lzma SolidCompression=yes WizardStyle=modern ArchitecturesInstallIn64BitMode=x64 PrivilegesRequired=admin ArchitecturesAllowed=x64 MinVersion=6.1 VersionInfoVersion={#MyAppVersion} [Languages] Name: "english"; MessagesFile: "compiler:Default.isl" [Files] Source: "{#MyAppDir}\sftpgo.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "{#MyAppDir}\sftpgo.db"; DestDir: "{commonappdata}\{#MyAppName}"; Flags: onlyifdoesntexist uninsneveruninstall Source: "{#MyAppDir}\LICENSE.txt"; DestDir: "{app}"; Flags: ignoreversion Source: "{#MyAppDir}\sftpgo.json"; DestDir: "{commonappdata}\{#MyAppName}"; Flags: onlyifdoesntexist uninsneveruninstall Source: "{#MyAppDir}\scripts\*"; DestDir: "{app}\scripts"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "{#MyAppDir}\sql\*"; DestDir: "{app}\sql"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "{#MyAppDir}\templates\*"; DestDir: "{commonappdata}\{#MyAppName}\templates"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "{#MyAppDir}\static\*"; DestDir: "{commonappdata}\{#MyAppName}\static"; Flags: ignoreversion recursesubdirs createallsubdirs [Dirs] Name: "{commonappdata}\{#MyAppName}\logs"; Permissions: everyone-full Name: "{commonappdata}\{#MyAppName}\backups"; Permissions: everyone-full Name: "{commonappdata}\{#MyAppName}\credentials"; Permissions: everyone-full [Icons] Name: "{group}\Web Admin"; Filename: "http://127.0.0.1:8080/web"; Name: "{group}\Service Control"; WorkingDir: "{app}"; Filename: "powershell.exe"; Parameters: "-Command ""Start-Process cmd \""/k cd {app} & {#MyAppName} service --help\"" -Verb RunAs"; Comment: "Install, start, stop, uninstall SFTPGo Service" Name: "{group}\REST API CLI"; WorkingDir: "{app}\scripts"; Filename: "{cmd}"; Parameters: "/k sftpgo_api_cli.exe --help"; Comment: "Manage users and connections" Name: "{group}\Documentation"; Filename: "https://github.com/drakkan/sftpgo/blob/0.9.6/README.md"; Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}" [Run] Filename: "netsh"; Parameters: "advfirewall firewall delete rule name=""SFTPGo Service"""; Flags: runhidden Filename: "netsh"; Parameters: "advfirewall firewall add rule name=""SFTPGo Service"" dir=in action=allow program=""{app}\{#MyAppExeName}"""; Flags: runhidden Filename: "{app}\{#MyAppExeName}"; Parameters: "service stop"; Flags: runhidden Filename: "{app}\{#MyAppExeName}"; Parameters: "service uninstall"; Flags: runhidden Filename: "{app}\{#MyAppExeName}"; Parameters: "service install -c ""{commonappdata}\{#MyAppName}"" -l ""logs\sftpgo.log"""; Description: "Install SFTPGo Windows Service"; Flags: runhidden Filename: "{app}\{#MyAppExeName}"; Parameters: "service start"; Description: "Start SFTPGo Windows Service"; Flags: runhidden [UninstallRun] Filename: "{app}\{#MyAppExeName}"; Parameters: "service stop"; Flags: runhidden Filename: "{app}\{#MyAppExeName}"; Parameters: "service uninstall"; Flags: runhidden Filename: "netsh"; Parameters: "advfirewall firewall delete rule name=""SFTPGo Service"""; Flags: runhidden