Resource Problemi -C#
-
Merhaba bir kaç aydır uğraştığım ama hala sonuç bulamadığım bir problemin çözümünü sormak istiyorum.
Resource'deki bir exe dosyasını extract etmeden direk nasıl çalıştırabilirim.
bir oyun sunucusu için bağlantı programı yapıcam bu bağlantı programını .net ile yazıcam bu bağlantı programının içine client.exe yi gömücem ve client.exe ye kullanıcı hiç bir şekilde ulaşmaması gerekiyor bu sebepten benim resourcedeki client.exe yi hiç bir lokasyona çıkartmadan çalıştırmam gerekli
aşağıdaki kodlar ile .net ile yazılmış bir uygulamayı hatasız çalıştırabiliyorum ama esas çalıştırmam gereken client.exe yi çalıştıramıyorum aşağıdaki hata ile karşılaşıyorumCould not load file or assembly '1409024 bytes loaded from MemoryLauncher, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. Geçersiz biçimdeki bir program yüklenmek istendi.Kodlar ://Get the current assembly
Assembly assembly = Assembly.GetExecutingAssembly();//Get the assembly's root name
string rootName = assembly.GetName().Name;//Get the resource stream
Stream resourceStream = assembly.GetManifestResourceStream(rootName + ".Resources." + exeName);//Verify the internal exe exists
if (resourceStream == null)return;
byte[] resourcesBuffer = new byte[resourceStream.Length];//Read the raw bytes of the resource
resourceStream.Read(resourcesBuffer, 0, resourcesBuffer.Length);
resourceStream.Close();
//Load the bytes as an assembly
Assembly exeAssembly = Assembly.Load(resourcesBuffer);//Execute the assembly
exeAssembly.EntryPoint.Invoke(null, null); //no parameters
TEŞEKKÜRLER------------------------------------bir arkadasımın ugrasip yapamadigi bir konu bi el atalim hacilar -
Express ile olmaz o iş.
VS ile assemble edeceksin, ya da GACUTIL.exe ile. (FrameWork SDK)
http://www.devhood.com/Tutorials/tutorial_details.aspx?tutorial_id=106
Sonra da prefix kullanarak çağıracaksın.
Ama .exe ile olmaz o iş. (Diye düşünüyorum)
.DLL falan lazım.
%System%\WINDOWS\assembly
