Chris,
You are right until here:
Chris.Sieben wrote:- When Cassini is installed on 64bit, it is installed as WOW64 and actually runs as a 32bit process on a 64 bit machine.
Like any .NET application built as AnyCPU, UltiDev Cassini runs as 64-bit bit process on x64 systems, and like any 64-bit process it can't load x86 DLLs, managed or native. The issue is usually caused by applications using 32-bit only components, like ODBC drivers, for example. To run such applications on x64 systems, the host process (Cassini service in this case) has to be 32-bit as well, and to ensure this, we provide unsupported x86 build of UltiDev Cassini. The reason we do not support it because installing x86 build instead of AnyCPU version on x64 system will break existing applications that rely on 64-bit-only components, which can't be loaded into 32-bit process just like 32-bit components can't be loaded in 64-bit process. You could still use unmanaged COM components in your application and run it in AnyCPU Cassini build as long as COM components have both x86 and x64 COM servers. And you do not have to build your application as x86 - when an AnyCPU application is loaded into a 32-bit process, it will run as 32-bit.
Next version of UltiDev Web Server (we've been working on it for a few months now) will have multiple host processes, similar to IIS AppPools, and will be able to host AnyCPU, x86 and x64 applications seamlessly.
Best regards,
UltiDev Team.
Please donate at
http://www.ultidev.com/products/Donate.aspx to help us improve our products.