<?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[MSVC++ 6.0 - DLL in EXE einbetten?]]></title><description><![CDATA[<p>Hi!<br />
Ist es irgendwie moeglich (aehnlich wie C#) eine DLL Datei als embedded resource direkt in eine exe zu packen und so nur eine Datei weiterzugeben?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/182041/msvc-6-0-dll-in-exe-einbetten</link><generator>RSS for Node</generator><lastBuildDate>Wed, 15 Apr 2026 02:30:22 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/182041.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 20 May 2007 17:39:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to MSVC++ 6.0 - DLL in EXE einbetten? on Sun, 20 May 2007 17:39:29 GMT]]></title><description><![CDATA[<p>Hi!<br />
Ist es irgendwie moeglich (aehnlich wie C#) eine DLL Datei als embedded resource direkt in eine exe zu packen und so nur eine Datei weiterzugeben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1288612</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1288612</guid><dc:creator><![CDATA[Nachtwind]]></dc:creator><pubDate>Sun, 20 May 2007 17:39:29 GMT</pubDate></item><item><title><![CDATA[Reply to MSVC++ 6.0 - DLL in EXE einbetten? on Sun, 20 May 2007 18:26:07 GMT]]></title><description><![CDATA[<p>Klar kannst Du die DLL als Resource einbinden. Du kannst alles als Resource-Enbinden was Du willst!<br />
Ach so, Du willst die DLL auch noch verwenden? Ne, dass geht offiziell nicht direkt. Da musst Du die Ressource dann in eine Datei schreiben und laden; dann geht es (In-Memory-Assemblies in .NET gibt es in Win32 nicht).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1288649</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1288649</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Sun, 20 May 2007 18:26:07 GMT</pubDate></item><item><title><![CDATA[Reply to MSVC++ 6.0 - DLL in EXE einbetten? on Sun, 20 May 2007 18:49:28 GMT]]></title><description><![CDATA[<p>Bleibt wie immer meine freche Frage: Warum eigentlich so etwas?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1288660</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1288660</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Sun, 20 May 2007 18:49:28 GMT</pubDate></item><item><title><![CDATA[Reply to MSVC++ 6.0 - DLL in EXE einbetten? on Sun, 20 May 2007 21:52:21 GMT]]></title><description><![CDATA[<p>Die Frage 'warum' laesst sich einfach beantworten. Mein projekt ist eine modifizierte Version eines Servers, der zusammen mit einer dll arbeitet. So, nun ist unsere DLL jedoch leicht veraendert (via hex editor..) und muss mit der exe zusammen in einem verzeichnis sein, da es bei der alten DLL zu abstuerzen kommt. Leider aber sind viele User nicht in der Lage die DLL, die mit der Exe in einer ZIP datei kommt in das verzeichnis zu legen und fragen dauernd an, warum der server bei ihnen crasht - ich wollte mir den aerger einfach ersparen (ohne ein installationsprogramm zu nutzen). ;0)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1288773</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1288773</guid><dc:creator><![CDATA[Nachtwind]]></dc:creator><pubDate>Sun, 20 May 2007 21:52:21 GMT</pubDate></item><item><title><![CDATA[Reply to MSVC++ 6.0 - DLL in EXE einbetten? on Mon, 21 May 2007 06:31:34 GMT]]></title><description><![CDATA[<p>Da Du sowieso explitzit die DLL lädst kannst Du auch deren Version und Funktionsweise prüfen oder? Es dürfte ja nicht schwer sein auch die Version zu patchen?</p>
<p>Dann muss Dein Programm nicht crashen. Ich finde es Overkill das Hauptprogramm unnötig größer zu machen nur damit die DLL ausgestreamt wird!</p>
<p>Unter Vista fällst Du damit sowieso auf die Nase. Du kannst nicht in das C:\Programme Verzeichnis schreiben im normalenm Kontext!</p>
<p>Lass es bleiben. Verifiziere besser die Version die notwendig ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1288816</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1288816</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Mon, 21 May 2007 06:31:34 GMT</pubDate></item><item><title><![CDATA[Reply to MSVC++ 6.0 - DLL in EXE einbetten? on Mon, 21 May 2007 11:12:52 GMT]]></title><description><![CDATA[<p>Hm, das mit dem Patch gefaellt mir.. das gefaellt mir sogar sehr - danke :0)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1288983</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1288983</guid><dc:creator><![CDATA[Nachtwind]]></dc:creator><pubDate>Mon, 21 May 2007 11:12:52 GMT</pubDate></item><item><title><![CDATA[Reply to MSVC++ 6.0 - DLL in EXE einbetten? on Mon, 21 May 2007 13:00:16 GMT]]></title><description><![CDATA[<p>Genau dieses Problem habe ich letzte Woche gelösst:</p>
<pre><code class="language-cpp">bool MyClass::ExtractDLL() {
	wchar_t wsTempPath[MAX_PATH]=L&quot;&quot;;
	HANDLE hHnd=0;
	wstring wExtractPath=L&quot;&quot;;
	unsigned long lBytesWritten=0;

	if (GetTempPathW(MAX_PATH, wsTempPath)) {
		wExtractPath = wsTempPath + &quot;MyDll.dll&quot;;

		HRSRC zfile = FindResourceW(GetModuleHandle(0), 
											 MAKEINTRESOURCEW(IDR_BIN1),
											 L&quot;BIN&quot;);

		if (zfile) {
			HGLOBAL zload = LoadResource(GetModuleHandle(0), zfile);
			void *data = LockResource(zload);
			size_t sz = SizeofResource(GetModuleHandle(0), zfile);

			hHnd = CreateFileW(wExtractPath.c_str(),
									GENERIC_WRITE, 
									0, 
									0, 
									CREATE_ALWAYS, 
									FILE_ATTRIBUTE_NORMAL,
									0
			);

			if (hHnd) {
				if (WriteFile(hHnd, data, sz, &amp;lBytesWritten, 0)) { // Success:
					CloseHandle(hHnd);
					m_wsDllPath = wExtractPath;
					return true;
				}
			}
		}
	}

	// Failure:
	m_wsDllPath = L&quot;&quot;;
	return false;
}
</code></pre>
<p>IDR_BIN1 ist der Identifier aus dem Ressourcen Editor nachdem man seine DLL als Custom &quot;BIN&quot; hinzugefügt hat. Die Klassen Variable m_wsDllPath enhält dann den Pfad wo die DLL liegt.</p>
<p>Ich habe den Source aus dem Internet. Wenn Du Fragen hast schreib nochmal, bin bis 18 Uhr hier.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1289053</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1289053</guid><dc:creator><![CDATA[Jakata]]></dc:creator><pubDate>Mon, 21 May 2007 13:00:16 GMT</pubDate></item><item><title><![CDATA[Reply to MSVC++ 6.0 - DLL in EXE einbetten? on Thu, 24 May 2007 14:40:32 GMT]]></title><description><![CDATA[<p>Hm, das mit dem schreiben werde ich mal versuchen, wie auch das patchen.. aber sagt mal - wie ist das mit dem statischen linken - geht dann nicht die DLL in der exe auf? Und wenn ja, waere das nicht eine moeglichkeit? (Vorallen wenn ja - wie geht das ueberhaupt o0)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1291459</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1291459</guid><dc:creator><![CDATA[Nachtwind]]></dc:creator><pubDate>Thu, 24 May 2007 14:40:32 GMT</pubDate></item></channel></rss>