0

How to make my C++ Win32 .net-framework installer silent?

I tried sfxmaker software & ussf.exe, but I get an unknown installer error.

Command line arguments /S and /SD did not work for me.

Part of the code I use:

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

3 回答 3

4

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

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

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

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

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

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

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

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

于 2012-12-05T10:37:52.570 回答
3

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

请参阅此 MSDN 页面以了解更多信息。

于 2012-12-05T10:40:39.607 回答
0

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

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

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

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

于 2012-12-05T15:42:07.980 回答