<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[ShellExceute überträgt nicht alles?]]></title><description><![CDATA[<p>Hallo Leute,<br />
ich habe einigermaßen Nerven zeigen müssen, als ich mich mit ShellExecute befasst habe. Das funktioniert ja eigentlich ganz gut, aber bei gewissen Optionen funktiomiert das einfach nicht korrekt. Also:</p>
<p>Ich habe einen bootstrapper für msi-Files programmiert. Dieser exe übergebe ich diverse Paramter, die ich auch korrekt extrahiere. Bevor ich ShellExecute aufrufe, printe ich die Kommandozeile in ein File:</p>
<pre><code>fprintf(streams, &quot;Silentinstall-Line: msiexec %s \n&quot;, mainCmd);
ShellExecute(NULL, &quot;open&quot;,&quot;msiexec&quot;, mainCmd, tempDirName, SW_HIDE);
</code></pre>
<p>Das Ergebnis ist:<br />
Silentinstall-Line: msiexec /i d:\temp\abc.msi /qf /l msilog.log INSTALLLEVEL=555</p>
<p>Was ich aber nun nicht verstehe ist, warum die Option /qf richtig ausgeführt wird, die Option /l msilog.log aber total übergangen wird??? Wenn ich den Kommandoaufruf aus der Datei herauskopiere und in die Dos-Shell einfüge, funktioniert es perfekt.<br />
Ich habe auch schon versucht die Optionen zu versetzen, aber es schaut wirklich so aus, dass das /l msilog.log total vreschluckt wird.</p>
<p>Habe es gerade mit dem gleichen Kommando mit system() versucht. Da haut es so hin, wie ich es wollte, sprich, er loggt mit. Dann liegt es also definitiv an ShellExecute...</p>
<p>Hat jemand mal eine Idee? Vielleicht auch, wie ich das Shell-Window anzeige, in welchem der Befehl ausgeführt wird?<br />
Danke AkonF</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/129385/shellexceute-überträgt-nicht-alles</link><generator>RSS for Node</generator><lastBuildDate>Fri, 10 Jul 2026 09:44:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/129385.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 13 Dec 2005 10:34:12 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to ShellExceute überträgt nicht alles? on Tue, 13 Dec 2005 10:42:57 GMT]]></title><description><![CDATA[<p>Hallo Leute,<br />
ich habe einigermaßen Nerven zeigen müssen, als ich mich mit ShellExecute befasst habe. Das funktioniert ja eigentlich ganz gut, aber bei gewissen Optionen funktiomiert das einfach nicht korrekt. Also:</p>
<p>Ich habe einen bootstrapper für msi-Files programmiert. Dieser exe übergebe ich diverse Paramter, die ich auch korrekt extrahiere. Bevor ich ShellExecute aufrufe, printe ich die Kommandozeile in ein File:</p>
<pre><code>fprintf(streams, &quot;Silentinstall-Line: msiexec %s \n&quot;, mainCmd);
ShellExecute(NULL, &quot;open&quot;,&quot;msiexec&quot;, mainCmd, tempDirName, SW_HIDE);
</code></pre>
<p>Das Ergebnis ist:<br />
Silentinstall-Line: msiexec /i d:\temp\abc.msi /qf /l msilog.log INSTALLLEVEL=555</p>
<p>Was ich aber nun nicht verstehe ist, warum die Option /qf richtig ausgeführt wird, die Option /l msilog.log aber total übergangen wird??? Wenn ich den Kommandoaufruf aus der Datei herauskopiere und in die Dos-Shell einfüge, funktioniert es perfekt.<br />
Ich habe auch schon versucht die Optionen zu versetzen, aber es schaut wirklich so aus, dass das /l msilog.log total vreschluckt wird.</p>
<p>Habe es gerade mit dem gleichen Kommando mit system() versucht. Da haut es so hin, wie ich es wollte, sprich, er loggt mit. Dann liegt es also definitiv an ShellExecute...</p>
<p>Hat jemand mal eine Idee? Vielleicht auch, wie ich das Shell-Window anzeige, in welchem der Befehl ausgeführt wird?<br />
Danke AkonF</p>
]]></description><link>https://www.c-plusplus.net/forum/post/940862</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/940862</guid><dc:creator><![CDATA[AkonF]]></dc:creator><pubDate>Tue, 13 Dec 2005 10:42:57 GMT</pubDate></item></channel></rss>