Skip to content

Feature request: Ways to install something extra with app installer. #202

@tomasjablonskis

Description

@tomasjablonskis

⚠️ Is your feature request related to a problem? Please describe

Some apps require a 3rd party tools to be pre-installed for app to work properly. As far as I am aware, currently there is no out-of-the-box solution to bundle these 3rd party tools together with the app in the same installer and you have to write custom .nsi scripts for it.

💡 Describe the solution you'd like

It would be nice to have some Kotlin DSL parameter in Gradle configuration under nativeDistributions where we could define a list of paths to 3rd party tools that we have installers for so our installer could install those 3rd party tools together with the app during installation process.

Imagine we have "some_3rd_party_tool.msi" installer file that we want to be installed during our app installation.

An example configuration could look like:

nucleus.application {
    mainClass = ...
    
    nativeDistributions {
        windows {
            nsis {
                includeInstallers = listOf("./some_3rd_party_tool.msi", ...)
            }
        }
    }
}

I am not using NSIS for packaging and using WiX instead, if it helps this type of configuration in WiX would looks something like this:

<Chain>
    <MsiPackage Id="some_3rd_party_tool"
                SourceFile="./some_3rd_party_tool.msi"
                DisplayName="some_3rd_party_tool"
                Vital="yes"
                Permanent="yes">

    <Payload SourceFile="./some_3rd_party_tool.mst" />

    <MsiProperty Name="TRANSFORMS" Value="some_3rd_party_tool.mst" />
    </MsiPackage>
     
    ... our app installation  configuration ...

</Chain>

🤚 Do you want to develop this feature yourself?

  • Yes
  • No

Metadata

Metadata

Assignees

No one assigned

    Labels

    wontfixThis will not be worked on

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions