如何静默启动.Net框架安装程序?

时间:2012-12-05 09:52:17

标签: .net windows winapi silent-installer

如何让我的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 ) 
)

3 个答案:

答案 0 :(得分:4)

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

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

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

  

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

     

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

     

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

     

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

     

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

答案 1 :(得分:3)

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

请参阅this MSDN page了解详情。

答案 2 :(得分:0)

我明白了,谢谢大家, 我的解决方案是:

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

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

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