0

How can I run a Non .NET exe from the resources? I want to execute an embedded resource exe into a Process, but I don't know how or if it's possible. I tried with reflection before I noticed it only works with managed resources, so, Is possible to run an unmanaged resource without extracting it? I will appreciate any type of information related to this. Thanks in advance.

Derezzed
  • 1,093
  • 3
  • 11
  • 15

1 Answers1

0

use http://msdn.microsoft.com/en-us/library/system.diagnostics.process.start(v=vs.110).aspx

the embedded resource should be copied to theoutput folder and used using relative path

    using System;
using System.Diagnostics;
using System.ComponentModel;

namespace MyProcessSample
{
    class MyProcess
    {
        // Opens the Internet Explorer application. 
        void OpenApplication(string myFavoritesPath)
        {
            // Start Internet Explorer. Defaults to the home page.
            Process.Start("IExplore.exe");

            // Display the contents of the favorites folder in the browser.
            Process.Start(myFavoritesPath);
        }

        // Opens urls and .html documents using Internet Explorer. 
        void OpenWithArguments()
        {
            // url's are not considered documents. They can only be opened 
            // by passing them as arguments.
            Process.Start("IExplore.exe", "www.northwindtraders.com");

            // Start a Web page using a browser associated with .html and .asp files.
            Process.Start("IExplore.exe", "C:\\myPath\\myFile.htm");
            Process.Start("IExplore.exe", "C:\\myPath\\myFile.asp");
        }

        // Uses the ProcessStartInfo class to start new processes, 
        // both in a minimized mode. 
        void OpenWithStartInfo()
        {
            ProcessStartInfo startInfo = new ProcessStartInfo("IExplore.exe");
            startInfo.WindowStyle = ProcessWindowStyle.Minimized;

            Process.Start(startInfo);

            startInfo.Arguments = "www.northwindtraders.com";

            Process.Start(startInfo);
        }

        static void Main()
        {
            // Get the path that stores favorite links. 
            string myFavoritesPath =
                Environment.GetFolderPath(Environment.SpecialFolder.Favorites);

            MyProcess myProcess = new MyProcess();

            myProcess.OpenApplication(myFavoritesPath);
            myProcess.OpenWithArguments();
            myProcess.OpenWithStartInfo();
        }
    }
}
Nahum
  • 6,959
  • 12
  • 48
  • 69