我试图安装我正在下载的.exe文件。 下载方法无关紧要,因为它与安装无关。
然而,当它完成下载并且我已经开始了这个过程,而不是按照我想要的方式安装它(不必按下一个按钮)它只是打开UAC请求管理权限。当我按YES时,它会打开.exe,我必须手动安装它。
有没有办法以我想要的方式安装它?
Process process = new Process();
process.StartInfo.FileName = @"C:\PATH\Setup.exe";
process.StartInfo.Arguments = "/quiet";
process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
process.Start();
process.WaitForExit();
答案 0 :(得分:1)
执行exe的无提示安装并不容易。最简单的方法是使用msi包来实现这一目标。因此,您必须从exe中提取msi并使用以下参数之一调用它:
在Windows Vista及更高版本上,为了以静默方式安装软件包,安装包应该提升。因此,调用setup.exe的父进程必须以管理员身份运行。
如果你想安静地安装一个exe,那么你还有很多工作要做。但这取决于您尝试安装的安装包类型。找出创建包的安装程序软件是什么,然后查找指定给包的文档。您需要在文档中查找允许以静默方式运行exe的命令行参数(如果可能)。除了你必须确定软件包是按用户还是按机器安装,因为各种权限决定了高程类型。
答案 1 :(得分:0)
如果您无法将原始安装程序打包到MSI中,那么您可以随时查看Auto IT(https://www.autoitscript.com/site/autoit/)
AutoIt v3是一种免费的类似BASIC的脚本语言,用于自动化Windows GUI和通用脚本。它使用模拟击键,鼠标移动和窗口/控制操作的组合,以便以其他语言(例如VBScript和SendKeys)不可能或不可靠的方式自动执行任务。 AutoIt也非常小,独立,可以在开箱即用的所有Windows版本上运行,不需要烦人的“运行时”!
使用此功能,您可以玩游戏并获得“下一步”按钮,从根本上自动点击,实现您的目标。
答案 2 :(得分:0)
如果您的安装程序是InstallShield,则可以使用此命令:BOOST_LIBRARYDIR
进行基本MSI UI的静默安装,或setup.exe /s /v/qb
进行静默安装,无需任何UI。
看看这个问题https://stackoverflow.com/a/39047467/5675763这可能有所帮助。