如果此程序对您来说太高级/复杂,请查看信息页面上的“简单安装”按钮(其中有关更改的信息)。使用它后(完整版),它将卸载所有已安装的 VC++ 运行时并安装程序中包含的内容。
同时创建尽可能简单和尽可能高级的程序非常困难,您甚至可以从命令行更改所有可用选项!因此,我创建了一个批处理文件来向您展示程序如何解析命令行。并且,我在文本文件中描述了所有可用参数。我添加了“简单安装”按钮,您无需遍历所有可能的选项。
但是,请记住,自动更新选项不会删除所有重复的条目(在卸载部分) - 正常安装就是为此而设计的。 “简单安装”按钮也将清除所有重复的条目。或者,您可以手动删除卸载部分中可见的重复条目。
它很难与“免费”可用的程序竞争,但通常它们的选择较少,它们不支持大多数使用的操作系统。唯一的好处是它们“免费提供”——仅此而已。将我的程序(重新打包)与 VC++ 的任何其他重新打包进行比较,并尝试在其他 VC++ 重新打包中找到类似的选项。
v22.05.10 (2022-05-10):
从那里添加了“InnoSetup [类型]、[组件]、[任务]、[运行]直接在[代码]中”:https://github.com/Wilenty/InnoSetup-Types-Components-Tasks-Run-Directly -代码中-
并将信息文本后的“VC++选择窗口”改为“VC++选择页面”。
添加了对 ARM64 架构的支持。即日起包含 ARM64 的 VC++ 2017、2019 和 2022(外部版本支持 2017/2019/2022,参数:/VC_redistARM64="X:FullPath(带空格)totheVC_redist.arm64)。 EXE文件”)
添加了选择性卸载命令行参数: /Uninstall="卸载名称、版本或注册表项的逗号分隔列表" 选择卸载后: /COMPONENTS="unarm64,unx64,unx86" 命令参数 -行 /Uninstall="12.v3r...,{AndOr-Reg-Keys...},和/或 VC 名称或部分名称..." 必须用逗号分隔,对于其他参数列表InnoSetup。当您使用此参数时,卸载列表中的所有组件都将被取消选择,并且仅选择与卸载列表中的组件匹配的组件。
添加了缺少 dll 的安装命令行参数: /NeedDLL="Missing.dll" 它的作用与“菜单”(按钮)->“需要 dll?”相同在组件页面上,但通过命令行。上述参数可以单独使用,也可以与“/COMPONENTS=”参数一起使用。仅使用上述命令行参数之一(即“/NeedDLL=”),安装程序将切换到“CustomSetup”,并且所有组件将被取消选择 - 它将仅选择能够找到的这些组件使用给定的 dll 文件。但是,通过使用“/COMPONENTS=”,它将通过“/NeedDLL=”命令行参数将找到的组件添加到安装列表中。
添加了“深色主题” - 它取决于您使用的主题(W10/W11),如果启用 - 它会反转颜色,以其他方式使用窗口的颜色。
删除了操作系统注册表中的创建卸载部分,并删除了 /Portable 命令行开关。
添加了“PreveiewOnTaskBarAW.isi”以向您表明我的解决方案可以正常工作,没有任何问题,因此,现在您可以在任务栏上看到安装程序窗口/消息的预览。
将VC++ 2022更新到最新版本。
命令行参数 /Portable 会跳过对首次完全卸载的检查,并跳过在操作系统注册表中创建卸载条目。请记住,自动更新选项不会删除所有已安装的旧运行时,只会删除最后一个。因此,要删除卸载部分中的所有重复条目,您需要卸载所有条目并再次安装。
从现在开始,您可以将其用作标准 InnoSetup 安装程序,并具有标准 InnoSetup 参数(/TYPE=类型名称 & /COMPONENTS="逗号分隔的组件名称列表"),或者您可以使用预定义参数,这些参数可以在:“菜单”中找到”(组件页面上的按钮)->“参数?” (然后再单击此按钮几次)。
并且,安装程序将卸载/安装过程中完成的操作量返回为返回代码/退出代码。但是因为 InnoSetup 内部错误代码大于零(并且我无法在不重新编译源代码的情况下更改它),所以它返回完成的操作量小于零。例如,更新(自动更新)中的退出代码 0 表示无需更新任何内容,所有运行时库均处于当前版本。退出代码 -1 表示在卸载和/或安装过程中完成了一项操作(取决于您的选择),依此类推...
如果您的计算机资源不足,或显卡性能较差,或者您对 MSI 日志消息不感兴趣。您可以添加 /Silent 命令行参数,该参数通知 InnoSetup 安装程序不要在安装页面上显示“Microsoft Software Installer”(MSI) 日志消息,这应该会加快(一点)安装时间。
我完全重建了整个安装程序并添加了 VC++ 运行时 2022。
如果您选择安装VC++版本2022,或者使用命令行参数/SelectVcVersion="2022",您将指定要安装的组件在/COMPONENTS="x642015additional,x862017minimum"中(例如),安装程序将替换所选 VC++ 版本的“2015”和“2017”,即“2022”,并将选择正确的组件进行安装。如果您选择安装另一个 VC++ 版本,并且在 2015、2017、2019 和 2022 组中选择安装与所选 VC++ 不同的组件,则效果相同。