我是 Windows 批处理文件的新手。这是我在批处理文件中的第一次尝试。这是我的要求:
我应该有批处理文件。执行时,它应该读取 XML 配置文件以获取要安装的软件列表和目标位置。
当我执行批处理脚本时,它应该安装 XML 配置文件中提到的所有软件,无需用户干预。
所有软件都是.exe
扩展
现在,我已经开始安装如下所示的一个软件:
set tool=\\igdb001\didc0005\50_Tools\SW\TotalCommander\02_Installation
echo installing the tool commander
start /w %tool%\tcm801x64.exe /silent
echo finished installing
安装过程中会提示用户选择选项。如何实现自动化?
答案1
安装 MSI 文件通常可以通过使用 Microsoft 的 OCRA 进行修改,或者修改一些开关和安装文件来完成。
您经常可以使用自定义 setup.inf 或“响应文件”之类的东西来安装程序,大人们就是这么做的。
就我个人而言,我通常通过一系列 zip 文件和注册表文件来安装程序。我运行许多不同的操作系统,核心安装占用了磁盘上的一个小目录(保存程序)。
conset
由 Frank Westlake 编写,将把注册表读入当前环境。
reg
在注册表中设置当前环境。我用HKCU\Software\Wendy
它来做这个。因此程序不会设置到像 这样的目录中L:\newin\myapp
,而是L:\newin
从注册表中提取。
大多数程序已经设置为可移植或半可移植。注册是通过将文件复制到 windows 目录、windows 系统目录等,并注册 OCX 等来完成的。批处理文件创建快捷方式,同样,位置由 conset 从注册表中提取。
为了让生活更轻松,我在批处理中使用相同的注册表设置cdf
,它会查找名称(例如cdf sendto
在用户、机器和wendy文件中)。所以我可以 cdf 到我保存 DOS exes 的目录(cdf dosexe)。
只需一个开关(cdf /w),我就可以打开该点的注册表(通过使用 regjump)。
答案2
这是 Total Commander 的静默安装:
提取“tcm801x64.exe”文件(使用 TC 或 7-zip),并修改“tcm801x64.exe”文件中包含的“install.inf”文件。设置以下内容:
[自动]
自动=1
(0=交互式安装,1=无人值守安装)
一旦您根据需要修改了 install.inf 并将其重新打包到文件 tcm801x64.exe 中,您只需启动 tcm801x64.exe,TC 将以无人值守模式安装,而不会询问用户任何问题。
编辑:
您还可以创建自己的 MSI,而不是使用自解压档案。 高级安装程序有一个免费的“简单”版本,允许您创建窗口安装程序 (msi)。简单但容易,并为您提供更多控制和安装应用程序的能力。创建 MSI,然后您可以使用活动目录来分配和安装应用程序,而不必使用脚本。