; SkillMate Inno Setup Script ; Erstellt professionelle Windows-Installer #define MyAppName "SkillMate" #define MyAppVersion "1.0.0" #define MyAppPublisher "SkillMate Development" #define MyAppURL "https://skillmate.local" #define MyAppExeName "SkillMate.exe" [Setup] AppId={{8B3F4D2A-1E5C-4A7B-9C3D-2F1A6E8B9D7C} AppName={#MyAppName} AppVersion={#MyAppVersion} AppPublisher={#MyAppPublisher} AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} DefaultDirName={autopf}\{#MyAppName} DisableProgramGroupPage=yes LicenseFile=..\..\..\LICENSE.txt OutputDir=..\..\dist OutputBaseFilename=SkillMate-Setup-{#MyAppVersion} SetupIconFile=..\build\icon.ico Compression=lzma2/max SolidCompression=yes WizardStyle=modern PrivilegesRequired=admin ArchitecturesAllowed=x64 ArchitecturesInstallIn64BitMode=x64 UninstallDisplayName={#MyAppName} UninstallDisplayIcon={app}\{#MyAppExeName} VersionInfoVersion={#MyAppVersion} VersionInfoCompany={#MyAppPublisher} VersionInfoDescription=Mitarbeiter-Skills-Management für Sicherheitsbehörden VersionInfoCopyright=Copyright (C) 2024 {#MyAppPublisher} VersionInfoProductName={#MyAppName} VersionInfoProductVersion={#MyAppVersion} [Languages] Name: "german"; MessagesFile: "compiler:Languages\German.isl" [Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: checked Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; OnlyBelowVersion: 6.1; Flags: checked [Files] Source: "..\dist\win-unpacked\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "..\..\backend\dist\*"; DestDir: "{app}\resources\backend"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "..\..\backend\node_modules\*"; DestDir: "{app}\resources\backend\node_modules"; Flags: ignoreversion recursesubdirs createallsubdirs [Icons] Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon [Run] Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent [Code] function InitializeSetup(): Boolean; var ResultCode: Integer; begin // Check for .NET Framework or Visual C++ Redistributables if needed Result := True; end; procedure CurStepChanged(CurStep: TSetupStep); begin if CurStep = ssPostInstall then begin // Create necessary directories ForceDirectories(ExpandConstant('{userappdata}\SkillMate\logs')); ForceDirectories(ExpandConstant('{userappdata}\SkillMate\data')); end; end; [UninstallDelete] Type: filesandordirs; Name: "{userappdata}\SkillMate"