有没有办法创建一个包含安装程序产品密钥的 MSI 文件?在这个特定情况下,我希望将 Office 2003 部署到几十个工作站,但希望以静默方式进行,无需用户干预。但是,在我目前的测试中,它运行得很安静,直到需要产品密钥才能继续。我能否以某种方式将产品密钥“捆绑”到 MSI 中?
答案1
您可以创建一个 MST 文件来转换官方 MSI,以便执行您想要的操作。查看有关此过程的官方文档:http://office.microsoft.com/en-us/office-2003-resource-kit/custom-installation-wizard-HA001140170.aspx。
答案2
我翻出了关于这个主题的旧笔记,并将它们提供在这里。我建议阅读文档以更好地了解该过程,但下面的内容应该可以让您快速入门。
获取 VLK 版 Office 2003 的“干净”安装源。(eOpen 网站或安装媒体均可。)
复制到本地文件夹进行修改,我选择的是C:\office2k3。
将安装根目录中的 setup.exe 替换为自解压的 EntSetup.exe 中的程序(http://www.microsoft.com/office/orkarchive/2003ddl.htm)这将启用强制本地化安装源的附加功能,稍后将会用到。
在您的安装树中,您应该会看到一个“FILES”目录。在此目录下,创建一个名为“PATCHES”的新目录。
使用 WinRAR 或命令行,将每个服务包和修补程序提取到步骤 4 中创建的目录中。您不需要进一步的子文件夹。所有文件都可以在此级别共存。安装程序将处理服务包和修补程序的优先级。
在“PATCHES”下,使用文本编辑器和“OHotfixUILevel”打开 OHotFix.ini。将其设置为“q”以进行静默部署。
安装 Office 2003 资源工具包 (http://www.microsoft.com/office/orkarchive/2003ddl.htm) 并打开自定义安装向导。您将创建一个 MST 文件,该文件用于在安装时微调安装选项(包括安装密钥)。将此 MST 文件保存到与 PRO11.msi 相同的路径。为了方便起见,我甚至借用了 PRO11 作为文件名,并使用了 PRO11.mst。
其余的部署准备工作将在 Setup.ini 中进行,可在 FILES\SETUP 下找到它。备份此文件。我建议使用 setup.ini.bak。当您搞砸了某件事时,您可以随时回滚到未编辑的版本!
找到 Setup.ini 的 [MST] 部分并引用创建的 MST 文件。如果您将文件放在与安装程序和 MSI 相同的路径中,则不需要路径。我的行看起来像 MST=PRO11.MST。
我们需要操作安装 GUI,以便它无需用户交互即可运行。在 [DISPLAY] 下设置 Display=reduced。这相当于在命令行中使用 qb-,这样您就可以获得进度指示器。
下一步是设置版本控制。我确信我将在 MST 文件中添加修补程序和更改调整。让我们开始跟踪这些东西。我认为一个好方法是使用安装日志中的修改日期记录版本号。在 [LOGGING] 下,我使用 Template=Microsoft Office 2003 Setup YEARMMDD(*).txt 设置文件名。日期将与我在安装根目录中创建的 CHANGELOG.txt 中的更改日志条目相一致。现在,当我稍后去遇到问题的机器时,我可以通过从 %WINDIR% 文件夹中的日志文件获取日期来了解自该特定安装以来已修复的内容。我会知道该特定问题是否已修复。
下一步是强制执行本地化安装缓存或修复/重新安装。许多远程用户都需要这样做,但自从我们开始使用管理安装点 (AIP) 部署 Office 以来,它就一直处于故障状态。(注意:我们不再使用 AIP。)使用 [Cache] ENFORCECACHE=1 修复它
最后一步是设置链式安装。这些安装将在 Office 安装完成后按数字顺序从 Service Pack 和 Hotfix 开始运行。
[ChainedInstall_1]
TaskName=Integrate SP3 and Hotfixes
TaskType=exe
Path=.\FILES\PATCHES\OHotFix.exe
IgnoreReturnValue=1
[ChainedInstall_2]
TaskName=Install File Format Compatibility for Office 2007
TaskType=exe
Path=.\FILES\ADDONS\FileFormatConverters.exe
Cmdline=/quiet
IgnoreReturnValue=1
现在可以通过双击 setup.exe 或脚本手动运行安装程序,无需命令行参数。一切都可以通过 setup.ini 方便地处理。发布新更新后,提取它们并将 MSP 文件放在 PATCHES 目录中,然后在 CHANGELOG 中创建条目以记录更改。不要忘记更新 setup.ini 中的日期