【问题标题】:Use Inno Setup just to launch MSI with no GUI of its own使用 Inno Setup 来启动没有自己的 GUI 的 MSI
【发布时间】:2010-06-29 16:23:39
【问题描述】:

我使用 Wix 为我的应用程序创建 2 个安装程序,一个用于 x86,一个用于 x64。我想使用 InnoSetup 创建一个 setup.exe,它将有条件地启动适当的 .msi 文件。让 Inno 启动适当的 .msi 很容易失败:

[Files]
Source: "App.x86.msi"; DestDir: "{tmp}"; Check: not Is64BitInstallMode
Source: "App.x64.msi"; DestDir: "{tmp}"; Check: Is64BitInstallMode

[Run]
Filename: "msiexec.exe"; Parameters: "/i ""{tmp}\App.x86.msi"""; Description:    "MyApp"; Check: not Is64BitInstallMode
Filename: "msiexec.exe"; Parameters: "/i ""{tmp}\App.x64.msi"""; Description: "MyApp"; Check: Is64BitInstallMode

但我的问题在于 Inno GUI 向导。也就是说,我不想要它。我希望 Inno 静默启动,选择 .msi,启动它,然后离开。没有 Inno 生成的向导。这可能吗?有没有更好的工具来实现我的最终目标?

【问题讨论】:

    标签: wix windows-installer inno-setup


    【解决方案1】:

    InnoSetup FAQ 详细说明,由于它可能被滥用,因此未计划将其作为一项功能此示例将显示一个带有安装按钮的对话框。

    [Setup]
    AppName=example
    AppVersion=1
    DefaultDirName=example
    DisableStartupPrompt=Yes
    DisableDirPage=Yes
    DisableProgramGroupPage=Yes
    DisableReadyPage=Yes
    DisableFinishedPage=Yes
    DisableWelcomePage=Yes
    [Files]
    Source: test.txt; DestDir: C:\;
    
    [Run]
    Filename: notepad.exe; Parameters: "C:\test.txt"; Description: MyApp;
    

    如果您有已解压缩的文件,则可以有一个 install.cmd 文件,该文件使用 /silent 命令行参数调用 InnoSetup。

    或者您可以创建一个 install.cmd,根据环境变量 PROCESSOR_ARCHITECTURE 选择正确的操作系统。

    IF %PROCESSOR_ARCHITECTURE%==x86 then (
    notepad test.txt
    ) else (
    notepad test2.txt
    )
    

    【讨论】:

    • 谢谢。我选择了与此类似的东西(使用 Disablexxx 指令)。我不能使用单独的批处理文件,因为我的要求之一是构建一个能够选择和安装 32 位或 64 位版本的自解压安装程序。这种方法增加了一个额外的向导步骤,用户必须单击通过,但我认为它会完成这项工作。
    猜你喜欢
    • 2010-10-09
    • 1970-01-01
    • 2012-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-19
    • 2023-03-02
    • 2011-12-09
    相关资源
    最近更新 更多