Skip to content

Conversation

Copy link

Copilot AI commented Aug 26, 2025

Summary

This PR adds support for configuring a custom Inno Setup 6 installation path when building Windows .exe packages, addressing issue #244.

Previously, the path was hardcoded to C:\Program Files (x86)\Inno Setup 6, which caused issues for users who:

  • Installed Inno Setup in a custom location
  • Use portable versions of Inno Setup
  • Have multiple Inno Setup versions installed
  • Work in CI/CD environments with different installation paths

Changes

Core Implementation

  • Added inno_setup_path optional field to MakeExeConfig class
  • Modified InnoSetupCompiler.compile() to accept a custom path parameter
  • Updated AppPackageMakerExe to pass the custom path from configuration
  • Maintained full backward compatibility - defaults to original hardcoded path when not specified

Documentation

  • Updated both English and Chinese documentation with usage examples
  • Added comprehensive configuration examples showing the new option
  • Created a dedicated example file demonstrating the feature

Testing

  • Added comprehensive test cases for configuration parsing
  • Tests verify both presence and absence of the custom path option
  • Ensures proper serialization/deserialization of the configuration

Usage

Users can now specify a custom Inno Setup installation path in their windows/packaging/exe/make_config.yaml:

# Custom Inno Setup installation path (optional)
inno_setup_path: "D:\Tools\Inno Setup 6"

# Other existing configuration options...
app_id: 5B599538-42B1-4826-A479-AF079F21A65D
publisher: LeanFlutter
display_name: My App
# ...

Backward Compatibility

This change is fully backward compatible. Existing configurations will continue to work unchanged, automatically using the default path C:\Program Files (x86)\Inno Setup 6.

Error Handling

Improved error messages now show the actual path being checked when Inno Setup is not found, making troubleshooting easier for users.

Closes #244

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • esm.ubuntu.com
    • Triggering command: /usr/lib/apt/methods/https (dns block)
  • https://storage.googleapis.com/flutter_infra_release/flutter/a8bfdfc394deaed5c57bd45a64ac4294dc976a72/dart-sdk-linux-x64.zip
    • Triggering command: curl --retry 3 --continue-at - --location --output /tmp/flutter/bin/cache/dart-sdk-linux-x64.zip REDACTED (http block)
  • https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.24.3-stable.tar.xz
    • Triggering command: curl -fsSL REDACTED -o flutter.tar.xz (http block)

If you need me to access, download, or install something from one of these locations, you can either:


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI changed the title [WIP] 实现自定义 Inno Setup 6 的路径 @fastforgedev/fastforge/issues/244 feat: Add support for custom Inno Setup 6 installation path Aug 26, 2025
Copilot AI requested a review from lijy91 August 26, 2025 03:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

能定义Inno Setup 6的安装位置吗?目前只能固定在C盘?

2 participants