Rev 9 | Rev 17 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
9 | daniel-mar | 1 | ; ViaThinkSoft Checksum Tools Setup Script for InnoSetup |
2 | ; by Daniel Marschall, ViaThinkSoft |
||
3 | ; http://www.viathinksoft.com/ |
||
4 | |||
5 | [Setup] |
||
6 | AppName=ViaThinkSoft Checksum Tools |
||
7 | AppVerName=ViaThinkSoft Checksum Tools 1.0 |
||
8 | AppVersion=1.0 |
||
9 | AppCopyright=© Copyright 2021 ViaThinkSoft. |
||
10 | AppPublisher=ViaThinkSoft |
||
11 | AppPublisherURL=http://www.viathinksoft.com/ |
||
12 | AppSupportURL=http://www.daniel-marschall.de/ |
||
13 | AppUpdatesURL=http://www.viathinksoft.com/ |
||
14 | DefaultDirName={commonpf}\ViaThinkSoft Checksum Tools |
||
15 | DefaultGroupName=Checksum Tools |
||
16 | VersionInfoCompany=ViaThinkSoft |
||
17 | VersionInfoCopyright=© Copyright 2017 - 2021 ViaThinkSoft. |
||
18 | VersionInfoDescription=Checksum Tools Setup |
||
10 | daniel-mar | 19 | VersionInfoTextVersion=1.0.0.1 |
9 | daniel-mar | 20 | VersionInfoVersion=1.0 |
21 | Compression=zip/9 |
||
22 | ChangesAssociations=yes |
||
23 | OutputBaseFilename=ChecksumTools |
||
24 | LicenseFile=..\LICENSE |
||
25 | |||
26 | [CustomMessages] |
||
27 | Assoc=File associations: |
||
28 | |||
29 | [Languages] |
||
30 | ;Name: de; MessagesFile: "compiler:Languages\German.isl" |
||
31 | |||
32 | [LangOptions] |
||
33 | LanguageName=English |
||
34 | LanguageID=$0409 |
||
35 | |||
36 | [Components] |
||
37 | Name: "dirchecker"; Description: "Recursive directory checker"; Types: full compact custom |
||
38 | Name: "editor"; Description: "Checksum file editor"; Types: full |
||
39 | |||
40 | [Tasks] |
||
41 | Name: fileassocSFV; Description: "{cm:AssocFileExtension,'SFV Checksum File','.sfv'}"; GroupDescription: "{cm:Assoc}"; Components: editor |
||
42 | Name: fileassocMD5; Description: "{cm:AssocFileExtension,'MD5 Checksum File','.md5'}"; GroupDescription: "{cm:Assoc}"; Components: editor |
||
43 | |||
44 | [Files] |
||
45 | Source: "MD5DirCheck.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: dirchecker |
||
46 | Source: "SFVCorrect.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: editor |
||
47 | Source: "ChecksumFileIcon.ico"; DestDir: "{app}"; Flags: ignoreversion; Components: editor |
||
48 | |||
49 | [Dirs] |
||
50 | |||
51 | [Icons] |
||
52 | Name: "{group}\Recursive directory checker"; Filename: "{app}\MD5DirCheck.exe"; Components: dirchecker |
||
53 | Name: "{group}\Checksum file editor"; Filename: "{app}\SFVCorrect.exe"; Components: editor |
||
54 | |||
55 | [Run] |
||
56 | Filename: "{app}\MD5DirCheck.exe"; Description: "Run recursive directory checker"; Flags: nowait postinstall skipifsilent; Components: dirchecker |
||
57 | Filename: "{app}\SFVCorrect.exe"; Description: "Run checksum file editor"; Flags: nowait postinstall skipifsilent unchecked; Components: editor |
||
58 | |||
59 | [Registry] |
||
60 | Root: HKCR; Subkey: ".sfv"; ValueName: ""; ValueType: string; ValueData: "VtsChecksumSFV"; Flags: uninsdeletekey; Components: editor; Tasks: fileassocSFV |
||
61 | Root: HKCR; Subkey: ".sfv\ShellNew"; ValueName: "ItemName"; ValueType: string; ValueData: "SFV checksum file"; Components: editor; Tasks: fileassocSFV |
||
62 | Root: HKCR; Subkey: ".sfv\ShellNew"; ValueName: "NullFile"; ValueType: string; ValueData: ""; Components: editor; Tasks: fileassocSFV |
||
63 | Root: HKCR; Subkey: "VtsChecksumSFV"; ValueName: ""; ValueType: string; ValueData: "SFV checksum File"; Flags: uninsdeletekey; Components: editor; Tasks: fileassocSFV |
||
64 | Root: HKCR; Subkey: "VtsChecksumSFV\DefaultIcon"; ValueName: ""; ValueType: string; ValueData: "{app}\ChecksumFileIcon.ico"; Components: editor; Tasks: fileassocSFV |
||
65 | Root: HKCR; Subkey: "VtsChecksumSFV\shell\open\command"; ValueName: ""; ValueType: string; ValueData: """{app}\SFVCorrect.exe"" ""%1"""; Components: editor; Tasks: fileassocSFV |
||
66 | |||
67 | Root: HKCR; Subkey: ".md5"; ValueName: ""; ValueType: string; ValueData: "VtsChecksumMD5"; Flags: uninsdeletekey; Components: editor; Tasks: fileassocMD5 |
||
68 | Root: HKCR; Subkey: ".md5\ShellNew"; ValueName: "ItemName"; ValueType: string; ValueData: "MD5 checksum file"; Components: editor; Tasks: fileassocMD5 |
||
69 | Root: HKCR; Subkey: ".md5\ShellNew"; ValueName: "NullFile"; ValueType: string; ValueData: ""; Components: editor; Tasks: fileassocMD5 |
||
70 | Root: HKCR; Subkey: "VtsChecksumMD5"; ValueName: ""; ValueType: string; ValueData: "MD5 checksum File"; Flags: uninsdeletekey; Components: editor; Tasks: fileassocMD5 |
||
71 | Root: HKCR; Subkey: "VtsChecksumMD5\DefaultIcon"; ValueName: ""; ValueType: string; ValueData: "{app}\ChecksumFileIcon.ico"; Components: editor; Tasks: fileassocMD5 |
||
72 | Root: HKCR; Subkey: "VtsChecksumMD5\shell\open\command"; ValueName: ""; ValueType: string; ValueData: """{app}\SFVCorrect.exe"" ""%1"""; Components: editor; Tasks: fileassocMD5 |
||
73 | |||
74 | |||
75 | [Code] |
||
76 | function InitializeSetup(): Boolean; |
||
77 | begin |
||
78 | if CheckForMutexes('VtsChecksumToolsSetup')=false then |
||
79 | begin |
||
80 | Createmutex('VtsChecksumToolsSetup'); |
||
81 | Result := true; |
||
82 | end |
||
83 | else |
||
84 | begin |
||
85 | Result := False; |
||
86 | end; |
||
87 | end; |
||
88 | function IsAnyComponentSelected: Boolean; |
||
89 | var |
||
90 | I: Integer; |
||
91 | begin |
||
92 | // Source: https://stackoverflow.com/questions/20691583/innosetup-if-no-components-are-selected-go-back-to-components-page |
||
93 | Result := False; |
||
94 | for I := 0 to WizardForm.ComponentsList.Items.Count - 1 do |
||
95 | if WizardForm.ComponentsList.Checked[I] then |
||
96 | begin |
||
97 | Result := True; |
||
98 | Exit; |
||
99 | end; |
||
100 | end; |
||
101 | function NextButtonClick(PageID: Integer): Boolean; |
||
102 | begin |
||
103 | Result:= True; |
||
104 | if PageID = wpSelectComponents then |
||
105 | begin |
||
106 | if not IsAnyComponentSelected then |
||
107 | begin |
||
108 | MsgBox('No items selected, please select at least one item', mbError, MB_OK); |
||
109 | Result := False; |
||
110 | end; |
||
111 | end; |
||
112 | end; |