如何创建静默安装,我不需要按下一个按钮?

Ner*_*zIT 5 c# installation install process

我正在尝试静默安装我正在下载的.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();
Run Code Online (Sandbox Code Playgroud)

小智 1

静默安装 exe 并不容易。最简单的方法是使用 msi 包来实现此目的。因此,您必须从 exe 中提取 msi 并使用以下参数之一调用它:

  • 完整 UI:/qf(这是默认参数)
  • 简化的 UI:/qr(用户界面不显示任何向导对话框)
  • 基本UI:/qb、/passive(安装过程中仅显示进度条)
  • 无UI:/qn、/quiet(安装过程中不会显示任何UI)

在 Windows Vista 及更高版本上,为了静默安装软件包,安装包应以提升的权限运行。因此,调用 setup.exe 的父进程必须以管理员身份运行。

如果您想静默安装 exe,那么您还需要做很多事情。但这取决于您尝试安装什么类型的安装包。找出创建该软件包所用的安装程序软件,然后查找该软件包指定的文档。如果可能的话,您需要在文档中查找允许静默运行 exe 的命令行参数。您还必须确定软件包是按用户安装还是按计算机安装,因为不同的权限决定了提升类型。