0

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 ) 
)
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:\program files\sub.exe dir\プログラム名

c:\program files\sub dir\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 に答える