更新
:这里有几个阶段的答案。我会把它们都放进去。建议的技术解决方案/解决方案已移至顶部。
实例配置
实例的实际配置
似乎是从
MySQLInstanceConfig.exe
对于安装程序本身:
Where is the MySql 5.6 equivalent of `MySQLInstanceConfig.exe` to edit configuration files?
请试试
MySQLInstallerConsole.exe
(注:链接到8.0版,而不是5.7版)应用程序,示例:
静默安装
:似乎此控制台应用程序可以在
各种口味,使下面的程序可选。
MSI包
我试了一次我认为
mysql-5.7.22-winx64.msi
文件(主文件中嵌入了许多MSI文件,请参见下文)。
我最好的建议
:
与供应商通电话,确定他们是否积极尝试阻止静默安装
. 他们可能只是,然后随着时间的推移,你可能在和风车作战。如果你问我,他们应该改进这个设计——尽管这不是我见过的最糟糕的设计。
通过启动原始的大型MSI并启用
automatic logging
(请参阅该链接中的部分:
在一台机器上对所有设置进行全局设置
“),然后运行其内置的自定义GUI并启动实际安装,然后检查
"CommandLine"
在实际日志文件中生成的条目
temp
文件夹-它似乎设置了以下属性:
REBOOT
,
ADDLOCAL
,
INSTALLDIR
,
INSTALLLOCATION
,
ARPINSTALLLOCATION
,
INSTALL_ROOT
,
DATADIR
. 下面的实际日志条目:
******* Product: C:\ProgramData\MySQL\MySQL Installer for Windows\Product Cache\mysql-5.7.22-winx64.msi
******* Action:
******* CommandLine: REBOOT=ReallySuppress ADDLOCAL=RegKeys,ALWAYSINSTALL,Readme,MISC,Server_Scripts,ProgramMenu,MYSQLSERVER,Client,DEVEL,SharedLibraries,UserEditableDataFiles INSTALLDIR="C:\Program Files\MySQL\MySQL Server 5.7" INSTALLLOCATION="C:\Program Files\MySQL\MySQL Server 5.7" ARPINSTALLLOCATION="C:\Program Files\MySQL\MySQL Server 5.7" INSTALL_ROOT="C:\Program Files\MySQL\MySQL Server 5.7" DATADIR="C:\ProgramData\MySQL\MySQL Server 5.7" ALLUSERS=1
换句话说,这些属性是由通常运行安装过程的自定义安装GUI设置的。
您应该能够对需要安装的所有嵌入的msi文件使用此过程。
. 然后,您只需从大型MSI中提取所需的这些MSI文件,并使用找到的命令行以某种方式按顺序运行它们。如果需要,也可以应用转换。
说明明显的
:这可能需要一些时间来纠正,因为您需要与先决条件和公司用例作斗争。我会去的
引航
. 找一个充满活力的团队,快速把你的东西放在他们的测试PC上,告诉他们尽快给它一个垃圾桶。很可能你已经这么做了,只是提一下。如果没有一些不幸的、耗时的迭代,我永远无法把这些事情做好。
程序概要
:
-
使能
自动记录
(MSI专家Stefan Kruger的信息)
-
通过自定义安装GUI安装,并根据需要设置选项
-
在日志文件中查找要设置的属性
%temp% folder
.
-
日志文件将具有随机名称,按数据排序并打开最近更改的日志文件。
-
从包装安装程序获取嵌入的MSI文件:
-
尝试在带有
msiexec.exe
基于找到的属性集的命令行
样品
:
msiexec.exe /i mysql-5.7.22-winx64.msi REBOOT=ReallySuppress ADDLOCAL="RegKeys,ALWAYSINSTALL,Readme,MISC,Server_Scripts,ProgramMenu,MYSQLSERVER,Client,DEVEL,SharedLibraries,UserEditableDataFiles" INSTALLDIR="C:\Program Files\MySQL\MySQL Server 5.7" INSTALLLOCATION="C:\Program Files\MySQL\MySQL Server 5.7" ARPINSTALLLOCATION="C:\Program Files\MySQL\MySQL Server 5.7" INSTALL_ROOT="C:\Program Files\MySQL\MySQL Server 5.7" DATADIR="C:\ProgramData\MySQL\MySQL Server 5.7" ALLUSERS=1 /QN
以及一些参数信息:
ADDLOCAL="..." - list of features to install locally
REBOOT=ReallySuppress - prevent spontaneous reboot
ALLUSERS=1 - install per machine
/QN - crucial addition to the command line found in the log file. this makes the install run in silent mode
不寻常的MSI设计
:我知道这是一个不寻常的MSI,但一般情况下,您可以打电话给供应商或搜索他们的网站,以获取有关部署的文档,如此,并按照下面我概述的过程(我也可以在此处添加链接:
How to make better use of MSI files
)使用
PUBLIC properties
或
transforms
修改安装。
但是,在快速检查这个MSI之前,我写了下面的部分。一个快速的眼神显示出
embedded MSI packages
. 一点也不好。MSI也没有GUI,其管理安装(文件提取)被启动条件阻止。实际上设计很糟糕。您可以通过使用ORCA或等效工具删除启动条件并执行以下操作来进行管理安装:
msiexec.exe /a mysql-installer-community-5.7.22.1.msi TARGETDIR=C:\YourFolder
这似乎是一个包装器MSI,它将启动一个专有的GUI(.NET为基础?)然后,您可以使用它来安装MySQL工具套件所需的部分。如果这个发射器是一个
setup.exe
用…建造
WiX Burn
,
Installshield
,
Advanced Installer
或
an equivalent tool
.
推荐程序
诚实的回答是我不知道。我会的
call the vendor
如果可能的话,
check their user forums
和
do some further googling
一般来说。我希望大多数嵌入的MSI文件都可以在静默模式下安装。
实际方法可能是使用上述管理安装技巧提取所有MSI文件,
尽管他们一定有理由阻止管理性安装——我不知道。
.
很可能他们不想通过选项支持静默安装?
(打电话给他们?)。然后,您将获取所需的各个msi文件,并查看它们是否将使用所描述的方法以静默模式安装。
here
具有公共属性和/或转换。这些设置中有许多功能,您可以使用
添加本地
在命令行中定义要安装的和不安装的。请参阅下面链接的答案。然而,正如我在下面陈述的那样;
feature control is a very complex topic
(建议脱脂)。
注意必备的运行时要求。可能有几个,例如.NET框架和各种运行时。我看到其中有几个是由自定义安装GUI安装的。
下面是我的原始、通用答案
:
微星
:此安装程序似乎是Windows Installer格式,换句话说,是一个MSI文件。幸运的是,在静默安装和自定义参数配置方面,MSI文件非常灵活。然而,它依赖于设计良好的软件包,这并不总是如此。
公共财产和转换
:在自定义MSI安装的主题上,我有一个古老的答案:
如何更好地使用MSI文件
(只是第一部分,结尾与其他主题有点脱节)。正如您将在链接的答案中看到的,您基本上在命令行设置了可用的公共属性,或者创建一个转换来定制安装程序中需要的任何内容。后者是大多数公司为部署所做的。
配置
:可以在命令行设置哪些属性(有任何效果),在不同设置之间有所不同。安装程序创建者必须将这些属性(以及在安装程序中围绕它们构建的功能)设置为可配置的。典型的参数化值包括
license keys
,
URLs to license servers
和
user and company names and emails
类似的。对于更实质性的改变(如改变快捷方式或类似的改变),人们通常使用转换。您还可以使用
ADDLOCAL property
定义要安装的功能(如果为指定值,则不会安装所有其他功能
添加本地
)功能控件是MSI的内置属性,您可以从命令行或通过转换详细控制功能选择。然而,
功能控制是一个非常复杂的主题
(建议脱脂)。
混凝土样品
:如上所述,您需要为相关设置设置适当的属性和值。这意味着您必须点击相关设置的文档以确定“可设置”或“不可设置”。
一些链接
: