我有一个用于使用 WDS 部署的 Windows 7 映像。我们喜欢将所有应用程序安装在主映像中。新的 Adobe CS6 套件需要在部署时进行序列化,而不是在主映像中。
我需要在初始部署首次启动时运行一次。要运行的命令是:
AdobeSerialization.exe --tool=VolumeSerialize
我知道当我手动运行该命令时它会起作用,但我无法让它在第一次启动时自动运行一次。
我们已经有一个运行并安装 AV 客户端和其他一些项目的脚本:c:\Windows\Setup\Scripts\SetupComplete.cmd
我已将 AdobeSerialization.exe 复制到 c:\Windows\Setup\Scripts\ 但它似乎无法运行。
在首次启动期间仅运行一次该脚本的推荐方法是什么?
答案1
尝试将其制作成实际的脚本:
在记事本中创建文件AdobeSerialization.cmd
并添加以下行:
@echo off
start /d "path_to_file" AdobeSerialization.exe --tool=VolumeSerialize
del AdobeSerialization.cmd
然后将脚本AdobeSerialization.cmd
移至C:\Windows\Setup\Scripts\
在脚本的最后一行,文件会删除自身以防止再次运行。或者,如果您不想将脚本从计算机中删除,可以将最后一行更改为:
move AdobeSerialization.cmd "new_path"
答案2
考虑使用 HKLM 配置单元下的 RunOnce 注册表项,以便对于第一个登录的用户它将运行一次。
http://msdn.microsoft.com/en-us/library/aa376977%28v=vs.85%29.aspx
在主映像中设置此项,首次启动时,即可执行您的命令。Windows 会小心地删除注册表项。
编辑(感谢@guss)- RunServicesOnce(与上面的链接相同)每次启动时运行一次,不等待用户登录。在不需要用户登录的情况下,该键似乎是正确的选择。