我希望这个标题有意义,并不会误导我的要求。
我想将我的应用程序部署为安装文件,需要第三方依赖项。
目标:Windows 7/8
setup.exe /S /D="C:\Program Files (x86)\3rd-Party"
我的应用程序应存储在与第三方相同的目录中
所以命令是静默安装setup.exe,并在完成之后; 我的申请应该位于同一个地方
可选地,设置可以检查第三方是否已经安装,但这不是必需的,因为静默安装/S
不会对原始设备进行任何更改或导致任何问题。< / p>
安装向导应该跟进以下页面:
Setup StartPage -> Licens agreement -> Choose installion path -> Progress -> Finish.
选择安装应指向一个变量,该变量将用于静默安装第三方应用程序和我的应用程序
在这种情况下,您建议使用什么?(仅限免费解决方案)
我简要介绍了Inno-Setup和WiX,但是对于这个小东西来说,它们似乎有些过分了
此外,我想指出我没有使用设置的脚本语言的经验。 (时间常数)
答案 0 :(得分:0)
你还需要这个吗?使用WiX,这将是相当简单的:您需要制作两个项目:MSI打包您的额外文件,然后将该MSI和现有的setup.exe放入WiX软件包。
将参数传递给setup.exe以便以静默方式安装可以完成,但您必须先生成响应文件。 (使用/ s / r运行安装程序,然后找到setup.iss文件,通常在C:\ Windows中。)然后你必须通过&lt; InstallCommand&gt;传递它们。并且逃避报价可能很棘手。不要将setup.exe本身作为参数传递。要查看最终传递的内容,请查看安装日志。
下面概述了捆绑包所需的内容,主要是完整的代码:(你必须提出id's,然后设置显然是你机器上的东西的路径。)
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">
<Bundle Name="some-cool-name-for-the-whole-thing"
Version="1.0"
UpgradeCode="your-guid-here">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense">
<bal:WixStandardBootstrapperApplication
LicenseUrl=""
ShowVersion="yes"/>
</BootstrapperApplicationRef>
<Chain>
<ExePackage Id="some_id"
SourceFile="path-to-the-setup.exe">
<CommandLine InstallArgument="/s /f1"fullpath-to-your-iss-file.iss"/>
</ExePackage>
<MsiPackage Id="some-other-id-here"
SourceFile="path-to-the-MSI-you-made-for-your-app">
</MsiPackage>
</Chain>
</Bundle>
</Wix>
对于MSI,再次大致完整地描述了您的需求:
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*"
Name="name-of-your-app"
UpgradeCode="some-unique-constant-guid-across-versions">
<Package InstallerVersion="500"
Compressed="yes"<br>
InstallScope="PerMachine"/>
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate EmbedCab="yes" />
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="my_app_install_dir" Name="My App" />
</Directory>
</Directory>
<ComponentGroup Id="the-component-group-id" Directory="my_app_install_dir">
<Component Id="some-other-id-name" Guid="{some-new-GUID}" >
<File Id="some-id-1-for-your-file" Source="path-to-your-file" KeyPath="yes" />
</Component>
<Component Id="some-other-id2-name" Guid="{some-new-GUID2}">
<File Id="some-id-2-for-your-another-file" Source="path-to-another-file" KeyPath="yes" />
</Component>
<!-- add more files as needed -->
</ComponentGroup>
<Feature Id="some-feature-id" Title="some-title" Level="1">
<ComponentGroupRef Id="the-component-group-id" />
</Feature>
</Product>
</Wix>