Recently, we have received several support requests about deploying TX Text Control on 64-bit machines running Windows XP Professional x64 Edition. If an application, which contains TX Text Control, is run on a 64-bit machine, the application crashes with the error:
System.DllNotFoundException. The Text Control kernel DLL file could not be found.
This happens because the application is launched in 64-bit mode by default. TX Text Control is a 32-bit component.
To get a 32-bit application working, you will need to set the platform target property to x86. This has been defaulted by Microsoft in VS2005 to AnyCPU.
Unfortunately, there are two different methods of doing this, depending on your Visual Studio 2005 edition:
The VB and C# Express products do not expose the Target property inside the development environment. You will need to carefully modify the project file using a text or an XML editor.
Locate the first <PropertyGroup> tag and add the following line:
<PlatformTarget>x86</PlatformTarget>
Once you have done that, simply follow this steps:
Still won't build :(
I have followed your steps here on a very simple test project, and I still cannot get this to build. Any suggestions?I too have followed the instructions on a 64bit Windows Server 2003R2 x64 Edition - and I cant load any screen with a Text
Control in it on. My application runs fine in all other respects.I have it working now but you need to take one further step - selecting 32-bit instead of AnyCPU in the target drop-down will
not change all of the flags that must be changed to force 32-bit execution.
You need to use corflags.exe from the SDK and set 32BIT+ and ILONLY- on your assembly
(http://msdn2.microsoft.com/en-us/library/ms164699(VS.80).aspx)
eg
corflags myExe.exe /32BIT+ /ILONLY-
AdamIs this going to preclude my application from running on 64-bit systems? Or does it just force the application to run in a 32
bit mode?Matt,
The application will run on the 64-bit OS, but in 32-bit mode.