You can create PowerBuilder applications to deploy on 32-bit and 64-bit
systems.
Migrated applications will default to “32-bit.” You can also set the Platform Target
build option to “32-bit or 64-bit.” The latter option allows you to use 32-bit libraries
in applications you will deploy as a 64-bit.
Other targets—WCF Service, WPF Web Service DataWindow, WCF Client, REST Client—are all
callees, so the application type determines the running mode. You cannot select the
platform; they build as “AnyCPU” mode.
Compilation
Depending on the Platform Target setting, the application you developed compiles in
different ways.
- 32-bit (default): compiles the application or assembly to run by any 32-bit,
x86-compatible common language runtime
- 32-bit or 64-bit: compiles an application or assembly that runs on any Windows
platform
Microsoft uses the names "x86" and "AnyCPU."
Performance
64-bit deployment gives you an interface to develop different types of applications,
especially applications for 64-bit Windows platforms. This kind of application can
use more than 4GB of RAM, and has better performance than their 32-bit
counterpart.
Limitation in 12.5.1
Some PowerBuilder features are not available when running a “32-bit or 64-bit”
application on a 64-bit platform.
- Some PowerBuilder assemblies developed using C++ will be loaded at runtime
accompany these features. We will only provide one 32-bit version of these C++
assemblies with PowerBuilder .NET 12.5.1.
The assemblies are:
- Sybase.PowerBuilder.Interop.dll
- Sybase.DataWindow.Interop.dll
- Sybase.PowerBuilder.DataSource.Db.dll
- Sybase.PowerBuilder.DataWindow.Interop.dll
- Sybase.PowerBuilder.Editmask.Interop.dll
- Sybase.PowerBuilder.Graph.Interop.dll
- Sybase.PowerBuilder.RTC.Interop.dll
- The following features are not supported in 64-bit PB WPF application because of
the unsupported assemblies (listed above):
- The OLE related objects such as PBOmObject, PBOleObject, PBOmControl,
PBOleControl and PBOleCustomControl
- PBMailSession
- Some string functions that end with ‘A’, such as FillA(), LeftA(),
LenA(), MidA(), PosA(), ReplaceA() and RightA()
- Read PSR files and save data in Excel 8 format in DataWindow
- No non-ADO.NET drivers are supported
- PBNI
- MobiLink synchronization
- Any calls into assemblies listed here are not supported
- InkEdit feature in DataWindow
- Pipeline
- For WCF WebService projects, compiled assemblies behave like WPF assemblies.
They are compiled using AnyCPU mode. If a WCF WebService references 32-bit
libraries or assemblies, the hosting IIS or application pool should be
configured as “Enable 32-bit application.” Once configured like this, IIS will
run on x64 environment in WOW64 mode. That means the IIS or application pool
runs as WOW64 mode, so it can hold 32-bit web services.
Error Messages and Runtime Exceptions
The most common exception caused by this feature is BadImageFormatException. It is
thrown when the file image of a dynamic link library (DLL) or an executable program
is invalid.
Main application format |
Platform |
Format of the assemblies loaded at runtime |
Remarks |
32-bit |
32-bit |
32-bit, 32-bit or 64-bit |
|
32-bit |
64-bit |
32-bit, 32-bit or 64-bit |
WOW64 |
32-bit or 64-bit |
32-bit |
32-bit, 32-bit or 64-bit |
|
32-bit or 64-bit |
64-bit |
64-bit, 32-bit or 64-bit |
|
The main application determines the runtime environment in the whole application
lifecycle. This exception will be raised when the format of an assembly conflict
with the format of main application at runtime.