InnoVersionManager class
Manages multiple versioned Inno Setup installations under a single root
directory. Each version lives in its own subfolder (e.g. <root>/6.3.3/).
Use ensureVersion to download, verify, and extract a version if missing.
Constructors
- InnoVersionManager({String? versionsDir})
-
Creates a manager rooted at
versionsDir.
Properties
- defaultIsccPath → String
-
The absolute path to
ISCC.exefor defaultVersion.no setter - hashCode → int
-
The hash code for this object.
no setterinherited
-
installedVersions
→ List<
String> -
Lists every version subfolder under versionsDir that contains
ISCC.exeand is at least minSupportedVersion.no setter - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- versionsDir → String
-
Root directory containing version-named subfolders.
final
Methods
-
ensureDefaultVersion(
{String? githubToken}) → Future< String?> - Ensures defaultVersion is downloaded, checksum verified, and extracted.
-
ensureVersion(
String version, {String? githubToken}) → Future< String?> -
Ensures
versionis downloaded, checksum verified, and extracted. -
isccPath(
String version) → String? -
Returns the absolute path to
ISCC.exeforversion, ornullif that version is not yet installed. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Properties
- innoManagedVersionsDir → String
-
Root directory where the package manages its versioned Inno Setup installs
(
~/.inno_bundle/versions).final -
innoUserDirPath
→ List<
String> -
Inno Setup installation path when installed on user-specific level.
final
Static Methods
-
downloadFile(
String url, String destPath) → Future< void> -
Downloads a file from
urland writes it todestPath. -
fetchGitHubReleaseData(
String url, {String? githubToken}) → Future< Map< String, dynamic> ?> -
Fetches GitHub release data from
urland returns the parsed JSON map. -
getMachineInnoExec(
{bool throwIfNotFound = true}) → File? -
Locates a machine-wide or per-user install of Inno Setup (
ISCC.exe). -
installedVersionedIsccs(
[String? versionsDir]) → List< File> -
Returns the
ISCC.exeof every version managed underversionsDir(defaults to innoManagedVersionsDir) that is at least minSupportedVersion, sorted by version in descending order (highest first). Below-floor versions on disk are left untouched but ignored. -
machineInnoVersion(
File isccExe) → String? -
Returns the Inno Setup version reported by
isccExe, ornullwhen it can't be determined. ISCC prints aVersion x.y.zbanner on startup. -
resolveInnoExec(
) → File? -
Resolves the Inno Setup executable to use, or
nullwhen none is present.
Constants
- defaultVersion → const String
- Default Inno Setup version used when no install is detected and one needs to be fetched through the version manager.
- innoDownloadStepLink → const String
- GitHub link for documentation on how to download and install Inno Setup.
-
innoSysDirPath
→ const List<
String> - Inno Setup installation path when installed on the system level.
- minSupportedVersion → const String
- Minimum Inno Setup version (inclusive) this package supports.