| ; Advanced Inno Setup Script for AI File Converter Pro | |
| [Setup] | |
| AppId={{AIFILE-CONVERTER-PRO-2024}} | |
| AppName=AI File Converter Pro | |
| AppVersion=2.0.0 | |
| AppVerName=AI File Converter Pro 2.0 | |
| AppPublisher=AI File Converter Team | |
| AppPublisherURL=https://your-website.com | |
| AppSupportURL=https://your-website.com/support | |
| AppUpdatesURL=https://your-website.com/updates | |
| DefaultDirName={autopf}\AI File Converter Pro | |
| DefaultGroupName=AI File Converter Pro | |
| AllowNoIcons=yes | |
| LicenseFile=LICENSE.txt | |
| OutputDir=InstallerOutput | |
| OutputBaseFilename=AI_File_Converter_Pro_v2.0_Setup | |
| SetupIconFile=logo.ico | |
| Compression=lzma2 | |
| SolidCompression=yes | |
| WizardStyle=modern | |
| PrivilegesRequired=lowest | |
| ArchitecturesInstallIn64BitMode=x64compatible | |
| UninstallDisplayIcon={app}\AIFileConverter.exe | |
| UninstallDisplayName=AI File Converter Pro | |
| ; Version info | |
| VersionInfoVersion=2.0.0.0 | |
| VersionInfoCompany=AI File Converter Team | |
| VersionInfoDescription=AI File Converter Pro Installer | |
| VersionInfoProductName=AI File Converter Pro | |
| VersionInfoProductVersion=2.0.0.0 | |
| VersionInfoCopyright=Copyright © 2024 | |
| ; Sign tool (if you have a certificate) | |
| ; SignTool=mysign | |
| ; SignedUninstaller=yes | |
| [Languages] | |
| Name: "english"; MessagesFile: "compiler:Default.isl" | |
| Name: "german"; MessagesFile: "compiler:Languages\German.isl" | |
| Name: "french"; MessagesFile: "compiler:Languages\French.isl" | |
| Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl" | |
| [Tasks] | |
| Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked | |
| Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 6.1 | |
| Name: "associatefiles"; Description: "Associate supported file types with AI File Converter Pro"; GroupDescription: "File associations:" | |
| [Files] | |
| Source: "dist\AIFileConverter.exe"; DestDir: "{app}"; Flags: ignoreversion signonce | |
| Source: "logo.ico"; DestDir: "{app}"; Flags: ignoreversion | |
| Source: "logo.png"; DestDir: "{app}"; Flags: ignoreversion | |
| Source: "README.txt"; DestDir: "{app}"; Flags: ignoreversion; AfterInstall: CreateReadmeShortcut | |
| ; Include ffmpeg if bundled | |
| ; Source: "ffmpeg\*"; DestDir: "{app}\ffmpeg"; Flags: recursesubdirs createallsubdirs | |
| ; Include documentation | |
| ; Source: "docs\*"; DestDir: "{app}\docs"; Flags: recursesubdirs createallsubdirs | |
| [Icons] | |
| Name: "{group}\AI File Converter Pro"; Filename: "{app}\AIFileConverter.exe"; IconFilename: "{app}\logo.ico"; WorkingDir: "{app}" | |
| Name: "{group}\{cm:UninstallProgram,AI File Converter Pro}"; Filename: "{uninstallexe}"; IconFilename: "{app}\logo.ico" | |
| Name: "{autodesktop}\AI File Converter Pro"; Filename: "{app}\AIFileConverter.exe"; IconFilename: "{app}\logo.ico"; WorkingDir: "{app}"; Tasks: desktopicon | |
| Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\AI File Converter Pro"; Filename: "{app}\AIFileConverter.exe"; IconFilename: "{app}\logo.ico"; Tasks: quicklaunchicon | |
| Name: "{group}\Readme"; Filename: "{app}\README.txt" | |
| [Run] | |
| Filename: "{app}\AIFileConverter.exe"; Description: "{cm:LaunchProgram,AI File Converter Pro}"; Flags: nowait postinstall skipifsilent | |
| [UninstallDelete] | |
| Type: filesandordirs; Name: "{app}\*.log" | |
| Type: dirifempty; Name: "{app}" | |
| [Registry] | |
| ; Add to PATH (optional) | |
| ; Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; ValueType: expandsz; ValueName: "Path"; ValueData: "{olddata};{app}"; Check: IsAdminInstallMode | |
| ; File associations | |
| Root: HKCR; Subkey: ".mp3"; ValueType: string; ValueData: "AI_File_Converter_Pro.audio"; Flags: uninsdeletekey; Tasks: associatefiles | |
| Root: HKCR; Subkey: ".mp4"; ValueType: string; ValueData: "AI_File_Converter_Pro.video"; Flags: uninsdeletekey; Tasks: associatefiles | |
| Root: HKCR; Subkey: ".pdf"; ValueType: string; ValueData: "AI_File_Converter_Pro.document"; Flags: uninsdeletekey; Tasks: associatefiles | |
| Root: HKCR; Subkey: ".jpg"; ValueType: string; ValueData: "AI_File_Converter_Pro.image"; Flags: uninsdeletekey; Tasks: associatefiles | |
| Root: HKCR; Subkey: ".png"; ValueType: string; ValueData: "AI_File_Converter_Pro.image"; Flags: uninsdeletekey; Tasks: associatefiles | |
| [Code] | |
| var | |
| CustomPage: TWizardPage; | |
| ChkBoxCreateBackup: TNewCheckBox; | |
| procedure InitializeWizard; | |
| var | |
| WelcomeLabel: TNewStaticText; | |
| Page: TWizardPage; | |
| CustomLabel: TNewStaticText; | |
| begin | |
| // Custom Welcome Message | |
| WizardForm.WelcomeLabel2.Caption := 'Welcome to AI File Converter Pro 2.0!' + #13#10 + | |
| #13#10 + | |
| 'AI File Converter Pro is a powerful file conversion tool ' + | |
| 'that uses artificial intelligence to help you convert files ' + | |
| 'with natural language commands.' + #13#10 + | |
| #13#10 + | |
| 'Key Features:' + #13#10 + | |
| '• Support for documents, images, videos, and audio' + #13#10 + | |
| '• AI-powered format recommendations' + #13#10 + | |
| '• Natural language commands' + #13#10 + | |
| '• Batch processing with queue management' + #13#10 + | |
| '• High-quality conversion with optimization' + #13#10 + | |
| #13#10 + | |
| 'Click Next to continue or Cancel to exit setup.'; | |
| // Custom page for additional options | |
| CustomPage := CreateCustomPage(wpSelectTasks, 'Additional Options', 'Select additional setup options'); | |
| CustomLabel := TNewStaticText.Create(CustomPage); | |
| CustomLabel.Parent := CustomPage.Surface; | |
| CustomLabel.Caption := 'Choose additional options for the installation:'; | |
| CustomLabel.Top := 0; | |
| CustomLabel.Width := CustomPage.SurfaceWidth; | |
| ChkBoxCreateBackup := TNewCheckBox.Create(CustomPage); | |
| ChkBoxCreateBackup.Parent := CustomPage.Surface; | |
| ChkBoxCreateBackup.Caption := 'Create a backup of previous installation'; | |
| ChkBoxCreateBackup.Top := 30; | |
| ChkBoxCreateBackup.Width := CustomPage.SurfaceWidth; | |
| ChkBoxCreateBackup.Checked := False; | |
| end; | |
| procedure CurStepChanged(CurStep: TSetupStep); | |
| begin | |
| if CurStep = ssPostInstall then | |
| begin | |
| // Create a log file of installation | |
| SaveStringToFile(ExpandConstant('{app}\install_log.txt'), | |
| 'Installation completed at ' + GetDateTimeString('yyyy-mm-dd hh:nn:ss', #0, #0) + #13#10, | |
| False); | |
| // Add custom post-installation steps here | |
| if ChkBoxCreateBackup.Checked then | |
| begin | |
| // Backup logic here | |
| Log('Creating backup...'); | |
| end; | |
| end; | |
| end; | |
| function NeedRestart(): Boolean; | |
| begin | |
| Result := False; | |
| end; | |
| procedure CreateReadmeShortcut(); | |
| begin | |
| // Custom post-install action for README | |
| SaveStringToFile(ExpandConstant('{app}\README.txt'), | |
| 'AI File Converter Pro' + #13#10 + | |
| '=====================' + #13#10 + #13#10 + | |
| 'Thank you for installing AI File Converter Pro!' + #13#10 + #13#10 + | |
| 'Quick Start:' + #13#10 + | |
| '1. Launch the application' + #13#10 + | |
| '2. Select file type (Document/Image/Video/Audio)' + #13#10 + | |
| '3. Add files to convert' + #13#10 + | |
| '4. Choose output format' + #13#10 + | |
| '5. Click Start Conversion' + #13#10 + #13#10 + | |
| 'Using AI Assistant:' + #13#10 + | |
| '- Type "convert this to pdf" to change format' + #13#10 + | |
| '- Ask "best format for web" for recommendations' + #13#10 + | |
| '- Say "analyze this file" for file insights' + #13#10 + #13#10 + | |
| 'For support, visit: https://your-website.com/support', | |
| False); | |
| end; |