我为客户创建静默软件安装包。如果安装只是简单的文件转储,或者添加服务和启动,那么这很简单;但如果客户指令(和有效载荷媒体)是基于 GUI 的,那么就会困难得多 - “运行 setup.exe,单击下一步,输入文本...”等等...
因此,我一直在研究 autoit 实用程序的使用,该实用程序使安装能够以 gui 形式进行(即完全按照客户安装说明进行),但所有操作均自动执行。但是,据我所知,为了运行 gui autoit 脚本,需要具有适当权限的人员登录到服务器。
我需要一种方法来运行上面的 GUI 脚本,而无需任何用户实际登录到服务器 - 类似于作为服务运行的脚本。开发安装包、交付媒体和安装脚本,然后进行调用都不是问题。让脚本运行到完成,而无需用户登录到服务器并启动整个过程,才是问题。
为了更仔细地研究这个问题,我创建了一个简单的脚本来打开记事本,输入一些文本,然后保存并关闭......
我曾尝试过:将脚本作为可以“与桌面交互”的服务运行 - 显示记事本,但无法发送任何击键并且脚本挂起。
我正在调查是否可以启动 vncserver 会话,然后导出显示(类似于 unix 变体),这时我偶然发现了这个优秀的网站......
是否有人知道可以在服务器(例如 win 2003)上启动交互式 GUI 脚本的方法,而当时没有用户登录?
谢谢
答案1
只是一个想法,但也许计划任务中的批处理脚本可以自动以维护用户身份登录来运行安装?
- 将登录凭据写入注册表(参见KB315231)
- 将另一个脚本添加到启动以清除凭据并启动 AutoIt 增强安装
- 重启
- 利润!
这已经够疯狂了,但它可能会成功。
答案2
我假设您提到“setup.exe”是指 Windows 上的,所以......
简单:获取 WinInstall LE 的副本(http://www.softpile.com/Utilities/Miscellaneous/Review_16745_index.html和其他地方),在测试箱上以 GUI 模式运行您的设置,执行您需要的任何后期配置,它将生成一个 MSI 文件,然后您可以使用 msiexec(带有 /quiet 选项)编写脚本。
但在执行此操作之前,请检查您是否已有可用的 MSI 文件;它可能打包在 exe 中,因此请查看临时文件夹或使用 7zip 将其提取。
答案3
大多数软件都有静默安装选项。从命令行运行安装程序
安装.exe /?
看看是否有静音开关。
这个软件是什么?也许我可以帮你找到。