*******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
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
1条答案
按热度按时间fafcakar1#
更新:这里有几个阶段的答案。我会把它们都留在家里。建议的技术解决方案/解决方案移至顶部。
示例配置
示例的实际配置似乎已经从
MySQLInstanceConfig.exe
对于安装程序本身:mysqlinstanceconfig.exe的mysql5.6等价物在哪里编辑配置文件?请试试这个MySQLInstallerConsole.exe
(注意:链接到版本8.0,而不是5.7)应用程序,示例:静默安装:这个控制台应用程序似乎可以以不同的方式静默运行安装,使得下面的过程是可选的。
msi包
我做了一个我认为是
mysql-5.7.22-winx64.msi
文件(主文件中嵌入了许多msi文件,请参见下文)。我的最佳建议是:与供应商通电话,确定他们是否积极尝试阻止静默安装。他们只是可能有,然后你可能会战斗风车随着时间的推移。如果你问我的话,他们应该改进这个设计——尽管这不是我见过的最糟糕的。通过启动原始的大型msi并启用自动日志记录(请参阅该链接中的“全局查找计算机上的所有设置”),然后运行其内置的自定义gui并启动实际安装,然后检查
"CommandLine"
在中生成的实际日志文件中的条目temp
文件夹-看起来它设置了以下属性:REBOOT
,ADDLOCAL
,INSTALLDIR
,INSTALLLOCATION
,ARPINSTALLLOCATION
,INSTALL_ROOT
,DATADIR
. 实际日志条目如下:换句话说,这些属性是由通常运行安装过程的自定义安装gui设置的。您应该能够对需要安装的所有嵌入式msi文件使用此过程。然后,您只需从大型msi中提取所需的这些msi文件,并使用找到的命令行以某种方式按顺序运行它们。如果需要,也可以应用变换。
陈述一个显而易见的事实:这可能需要一些时间来正确处理前提条件和公司用例。我会去领航。找一个充满活力的团队,快速把你的东西放到他们的测试PC上,告诉他们尽快把它扔掉:-)。很可能你已经这么做了,只是说说而已。就我个人而言,如果没有一些不幸的、耗时的迭代,就永远无法把这些事情做好。
程序摘要:
启用自动日志(msiMavenstefan kruger的信息)
通过自定义安装gui安装,并根据需要设置选项
在中的日志文件中查找要设置的属性
%temp% folder
.日志文件将具有随机名称,按数据排序并打开最近更改的日志文件。
从 Package 器安装程序获取嵌入的msi文件:
使用msi工具查看/编辑msi文件(列表朝下)
从 Package 器设置中删除启动条件(launchcondition表)
提取如下内容:
msiexec.exe /a mysql-installer-community-5.7.22.1.msi TARGETDIR=C:\YourFolder
上面的命令启动了一个管理安装-本质上是一个美化的文件摘录,但msi的一个非常好的特点是应用程序包每天使用尝试安装在带有
msiexec.exe
基于您找到的属性集的命令行样品:
以及一些参数信息:
不寻常的msi设计:我知道这是一个不寻常的msi,但通常你打电话给供应商或搜索他们的网站,以获取这样的部署文档,并按照我在下面概述的过程(让我在这里添加链接:如何更好地利用msi文件)使用
PUBLIC properties
或者transforms
修改安装。然而,在我快速检查这个msi之前,我写了下面的部分。匆匆一看,就发现了无数的错误
embedded MSI packages
. 一点也不好。msi也没有gui,它的管理安装(文件提取)由于启动条件而被阻止。实际上,这个设计相当糟糕。您可以通过使用orca或等效工具删除启动条件并执行以下操作来进行管理安装:这个想法似乎是一个 Package msi,它将启动一个专有的gui(.net-based?),然后您可以使用它来安装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文件,并查看它们是否将以静默模式安装,使用这里描述的方法以及公共属性和/或转换。这些设置中有许多功能,您可以使用
ADDLOCAL
在命令行中定义要安装和不安装的。请参阅下面的链接答案。然而,正如我在下面所说的那样;特性控制是一个非常复杂的主题(推荐skim)。当心先决条件的运行时需求。可能有几种,例如.net框架和各种运行时。我看到其中一些是由自定义安装gui安装的。
我最初的一般答案如下:
msi:看起来这个安装程序是windows安装程序格式的,换句话说就是一个msi文件。在msi文件对于静默安装和自定义参数的配置非常灵活的意义上,您是幸运的。然而,这取决于软件包是否设计良好,但情况并非总是如此。
公共属性和转换:关于自定义msi安装的主题,我有一个古老的答案:如何更好地使用msi文件(只是第一部分,结尾与其他主题有点脱节)。正如您将在链接的答案中看到的,您基本上是在命令行设置可用的公共属性,或者创建一个转换来定制安装程序中所需的任何内容。后者是大多数公司在部署时所做的。
配置:在命令行中可以设置哪些属性(具有任何效果),在不同的设置中会有所不同。安装程序创建者必须使这些属性(以及在安装程序中围绕这些属性构建的功能)可配置。典型的参数化值包括
license keys
,URLs to license servers
以及user and company names and emails
类似的。对于更实质性的更改(例如更改快捷方式或类似的更改),人们通常使用转换。你也可以使用ADDLOCAL property
定义要安装的功能(如果为指定值,则不会安装所有其他功能)ADDLOCAL
). 功能控制是msi的内置属性,您可以从命令行或通过转换详细控制功能选择。但是,特性控制是一个非常复杂的主题(推荐skim)。具体示例:如上所述,您需要为所讨论的设置设置适当的属性和值。这意味着您必须点击相关设置的文档来确定什么是“可设置的”或“不可设置的”。
一些链接:
https://downloads.mysql.com/docs/refman-5.7-en.pdf
https://dev.mysql.com/doc/mysql-installation-excerpt/5.5/en/windows-using-installer.html