Skip to Content

Hello community,

since a few years we all use more or less the 64-bit version of Microsoft Windows. The SAP GUI for Windows is a 32-bit version, and it seems that this will not change. So it is no question for us, if we use functions from the frontend via SAP GUI for Windows or the OLE interface, that we also use 32-bit COM libraries. But on the horizon seems the end of the SAP GUI for Windows area, certainly in a distant future. So I asked to myself, what is the future of using frontend functions? And in this context the question: What is in this context about the difference between 32- and 64-bit frontend systems?

In a normal case I would say there is no big difference between 32- and 64-bit Windows.But it seems to be a little different. I am experimenting with a frontend server application which offers a COM interface and a replacement for the SAP GUI for Windows frontend services – you can find it here. In this context I found out that many standard COM libraries, which are available in 32-bit, are not available in 64-bit, e.g. MSScriptControl.ScriptControl. So I use a PowerShell script in a 64-bit PSE to get all program IDs on my system:

function Get-ProgID {                      
    param()           
    $paths = @("REGISTRY::HKEY_CLASSES_ROOT\CLSID")           
    if ($env:Processor_Architecture -eq "amd64") {           
        $paths+="REGISTRY::HKEY_CLASSES_ROOT\Wow6432Node\CLSID"           
    }            
    Get-ChildItem $paths -include VersionIndependentPROGID -recurse |           
    Select-Object @{           
        Name='ProgID'           
        Expression={$_.GetValue("")}                   
    }, @{           
        Name='32Bit'           
        Expression={           
            if ($env:Processor_Architecture -eq "amd64") {           
                $_.PSPath.Contains("Wow6432Node")               
            } else {           
                $true           
            }                       
        }           
    }           
}

Get-ProgID | Out-File -FilePath C:\Schnell\ProgIDs.txt

I sorted the output by program ID and find a lot of COM libraries which are not available in 64-bit version. This is a difficult situation now, because it is not in any case possible to use one backend source on 32- and 64-bit frontend. With 64-bit Windows we must say goodbye to good old friends, I mean COM libraries with which we are working a long time. It is now necessary to find other ways to realize the same functionality.

Cheers
Stefan

To report this post you need to login first.

Be the first to leave a comment

You must be Logged on to comment or reply to a post.

Leave a Reply