【问题标题】:How to start the .Net framework installer silently?如何静默启动 .Net 框架安装程序?
【发布时间】:2012-12-05 09:52:16
【问题描述】:

如何使我的 C++ Win32 .net-framework 安装程序静音?

我尝试了 sfxmaker 软件和 ussf.exe,但出现未知安装错误。

命令行参数 /S 和 /SD 对我不起作用。

我使用的部分代码:

if( !CreateProcess( NULL, 
    ".\\InstallationFiles\\dotnetfx 35 SP1 Full.exe /S",
    NULL,
    NULL, 
    FALSE,
    0, 
    NULL, 
    NULL, 
    &si, 
    &pi ) 
)

【问题讨论】:

    标签: .net windows winapi silent-installer


    【解决方案1】:

    你试过dotnetfx 35 SP1 Full.exe /?吗?

    答案是:dotnetfx 35 SP1 Full.exe /Q 静默启动安装程序。

    还要注意带有空格的长名称CreateProcess,考虑引用命令名称。 CreateProcess() reference 状态:

    如果您使用包含空格的长文件名,使用带引号的字符串来指示文件名的结束位置和参数的开始位置;否则,文件名不明确。例如,考虑字符串“c:\program files\sub dir\program name”。这个字符串可以用多种方式解释。系统尝试按以下顺序解释可能性:

    c:\program.exe 文件\子目录\程序名称

    c:\program files\sub.exe目录\程序名称

    c:\program files\sub dir\program.exe名称

    c:\program files\sub dir\program name.exe

    【讨论】:

    • if( !CreateProcess( ".\\InstallationFiles\\dotNetFx40_Full_x86_x64.exe", /q /norestart",............// 前两个参数不是再次工作安装要求复选框..
    • 您是否尝试在命令名称周围添加引号或将 .exe 名称中的空格替换为下划线?您必须遇到与带有空格的长名称有关的问题。见我的补充。
    【解决方案2】:

    您可能正在寻找安静模式。 /q。也要小心检查返回码:)

    请参阅this MSDN page 了解更多信息。

    【讨论】:

    • if( !CreateProcess( ".\\InstallationFiles\\dotNetFx40_Full_x86_x64.exe", /q /norestart",............// 前 2 个参数不起作用再次安装要求复选框..
    【解决方案3】:

    我知道了,谢谢大家, 我的解决方案是:

    if( !CreateProcess ( NULL, // 没有模块名称(使用命令行) ".\InstallationFiles\dotnetfx35SP1Full.exe /q /norestart /ChainingPackage ADMINDEPLOYMENT",... // 我只提到了 2 个参数。

    也检查一下: http://msdn.microsoft.com/en-us/library/ee390831(v=vs.100).aspx[^]

    注意:但是朋友们你不会在桌面上看到任何改进,请检查任务管理器查看。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-16
      • 1970-01-01
      • 2022-01-21
      相关资源
      最近更新 更多