Table of Contents
The ".exe" extension is not required: you can rename the program to "hello" if you wish.
If the IL program has command-line options, they can be supplied after the name of the IL executable:
Most IL programs will rely upon the "mscorlib.dll" file to provide library facilities. A pre-compiled version of this file can be found in the "samples" directory on the "pnet" distribution.
ilrun getenv.exe PATH
The "mscorlib.dll" file should either be placed in the same directory as the program you are running, or in the system-wide location "PREFIX/lib/cscc/lib", where "PREFIX" is the directory where you installed Portable.NET (e.g. "/usr/local").
You must first register ilrun with the Linux kernel, by executing the following command as root:
Then you can run programs as follows:
This will also work if you rename "hello.exe" to "hello", and then place it somewhere on your PATH.
chmod +x hello.exe ./hello.exe
To unregister ilrun, execute the following command as root:
Note: registration will only work with the Linux kernel (versions 2.2 and later), and when you are logged in as root.
When you register ilrun, it attempts to construct the full path of the engine to pass to the kernel. Normally it does this by searching the PATH. You can specify an explicit pathname as follows:
ilrun --register /usr/local/bin/ilrun
If you pass a regular Windows executable to ilrun, it will hand off control to wine to run the program. It uses the first executable called wine on the PATH.
If your Wine installation is not on the PATH, you can set the WINE environment variable to specify its location.
Wine also has facilities for registering itself with the Linux kernel to run PE/COFF executables. Only one PE/COFF handler can be registered at a time. It is important that ilrun be registered as the primary PE/COFF handler, because Wine does not currently know how to hand off IL programs to ilrun.
The ilrun program was passed a regular Windows PE/COFF executable that did not contain IL data. The engine attempted to hand the program off to wine for execution, but wine was not found.
Table of Contents