Has anyone successfully deployed Gen generated C# servers, which are still only 32 bit code, on a 64 bit Windows OS (i.e. Server 2008 R2) ?
If so, what did you have to do to get it to work.
Also, if anyone from CA wants to shed any additional light on if / when we might be able to create 64 bit C# code from Gen, that would be great. We're on r8. 8.5 doesn't support it either. It seems that most, if not all, other non-Z/OS code can be generated as 64 bit code except C# code. We've tried the 32 bit .NET proxy code on a 64 bit server and that seems to work, but not the C# server code.
Hi John ..... Below is what I received from Gen Support on a ticket I opened last year. I was hopeful also when I saw the information in IE2 but it seems that it is only for C, not C#. I had support open Enhancement Request with issue # 21470853 but haven't heard anything. The installation I am at has ONE set of 32 bit servers that they still have running and it is only because the C# servers from Gen are only supported on 32 bit servers according to the last I heard from Gen support. Periodically I get poked here and asked if they can get off the last of the remaining 32 bit servers and I have to tell them no because of the Gen C# code. I was poked again recently so I thought I would see if there was any progress or if anyone else has the C# servers running on a 64 bit machine. ...... Stacy Pickett
From Gen Support on ticket # 21470223
" Below is from the IE2 documentation (attached). The 64bit statement
below is the same that is in the 8.5 Release Notes. There is no support
for 64bit .NET servers, only 64bit C servers are supported.
64 bit C Runtime support on Windows
CA Gen now supports compiling and executing generated C blockmode and
server applications as 64bit images on Windows using Visual Studio 2010.
Users can choose to build their generated C blockmode and server
applications as 64bit by setting the new Build Tool tokens, OPT.BITS (to
64) and OPT.VSVERSION (to VS2010) in their profile. Users will need to
regenerate their code to gain access to 64bit data types used in the
Windows X 64 API to create 64bit images."
I checked your Enhancement Request/DAR issue 21470853 and it seems we sent a response from Development apologising that the Gen 8.0 Interim Enhancement #2 documentation is misleading, so perhaps you did not receive it?. Per John's advice, the Build Tool OPTIONS token OPT.BITS is applicable to .NET and can be set to 64 to enable build of 64-bit .NET Servers in Gen 8.5 and 8.0 IE2.<o:p></o:p>
So if you are still having deployments problems with 64-bit .NET servers after using that option please raise a support issue and we will look into it.<u1:p></u1:p><o:p></o:p>
(I will also submit a doc issue to ask for the 64-bit .NET server info to be added to 8.5 Release Notes & Build Tool Guides)<u1:p></u1:p><o:p></o:p>
Hope this helps<o:p></o:p>
Well, no, that information never made it back to me from CA support. Good to know now. We'll have to set up a VS 2010 machine and give it a try. Anything else that needs to be done besides the Build Tool option change and the path change to point to the amd64 folder for the C# generation / installation ?
The %GEN85%\Gen\VS100 folder hierarchy (including amd64 sub-folder) is only relevant for Gen C code/runtimes.
For C# the compiles of generated code are done with the AnyCPU (default) option so they can run on x86 or x64 (see *.csproj file in the model.ief\c# folder). I believe the Gen .NET runtime assemblies in %GEN85%\Gen\.net\bin are also built in the same way (there is only one version).
The OPT.BITS token in the build tool is only used for C# in the assemble phase (%GEN85%\Gen\bt\scripts\deploy_msi_net.scr calls genbits.scr to get the "bitness"). That ensures the msi package is built for the required x86 or x64 deployment platform.
Hope this helps.
Yes, this helps tremendously.