Getting the current installed version information from SAP with VBScript

This is probably a question that is buried somewhere in here but so far no luck finding it so i'm throwing it out to everyone.
I am in charge of developing all of the distribution packages for SAP and any and all add-ons our corporate site requires. I'm using radia as a push tool and vbscript and wmi to manage the uninstall, install, patching, updating, and miscellaneous functions needed on each users system.
prior to my taking this position over an older version of SAP was distributed to several users with less than stellar results. due to the massive size of the Frontend GUI i've separated it out as a base stand alone install and packaged each Add-On with only the files it needs to complete the FE install. in order to guarantee my users have the newest version of the FE GUI on their systems i am doing some rudimentary checks based on the existence or no existence of the push directory of the older sap package on the users system. which works for now but is not the most graceful thing.
What i need is to be able to check right from a running vbscript what the current version and patch level the FE GUI is running at and any other components if possible, for now the FE GUI is the most important
Thanks for the help
Cheers,
<b>Ryan Strope
Distributed Services
(Software package development/testing)
Lockheed Martin Systems Integration Owego
(Cyber City Computers)
[email protected]
(607)751-1164
Quid quid latine dictum sit, altum videtur
</b>

Ryan,
I hope you find this of use.  The only issue you will have is if the user has the SAP GUI running.  If so, the getversion call will fail as it requires an exclusive lock on the file.  I do not know why.
Anyway, here is the code:
Dim oShell, SAPdestdir, fso, i
Set oShell = WScript.CreateObject("WScript.Shell")
SAPdestdir = oShell.RegRead("HKLMSOFTWARESAPSAP SharedSAPdestdir")
Wscript.Echo SAPdestdir
Set fso = CreateObject("Scripting.FileSystemObject")
SAPGuiVer = fso.GetFileVersion(SAPdestdir & "SAPGuiSAPGui.exe")
WScript.Echo SAPGuiVer
verInfo = Split(SAPGuiVer, ".")
For i = 0 To UBound(verInfo)
     WScript.Echo verInfo(i)
Next

Similar Messages

  • How we can get the current running user information in BusinessOne

    Hi experts,
    How we can get the current running user information in BusinessOne Application,
    Based on the user details i want to assign some functionality,
    Regards,
    Saidarao yakkala

    Hi,
    As per me you can't get detail by server side.
    If you want to know who are connected then you can use sp_who2 procedure in SQL query.
    That will display who are login.
    For more detail you have to check LOG file on client side in SAP B1 > Log folder.
    Thanks
    Kevin

  • How to get the current logged in username from windows and put it into an AS var

    Hello,
    I was hopeing someone would know how to get the current logged in username from windows and put it into a var, so I can create a dynamic text box to display it.
    Thanks in advance
    Michael

    Just for everyone’s info, this is the script I have used to get the logged in windows username into flash ---- not and air app.
    In the html page that publishes with the .swf file under the <head> section:-
    <script language="JavaScript" type="text/javascript">
    function findUserName() {
         var wshell=new ActiveXObject ("wscript.shell");
         var username=wshell.ExpandEnvironmentStrings("%username%");
         return username;
    </script>
    The ActionScript:-
    import flash.external.ExternalInterface;
    var username:String = ExternalInterface.call ("findUserName");
    trace (username); // a quick test to see it in output

  • How to get the Hyper-V version/hostname from a linux guest?

    Hi,
    I am running a custom Linux VM on Windows Server 2008 R2 Hyper-V.
    I need to get the version/hostname of Hyper-V from the running custom Linux guest. How can I do that?
    I am having Integration Service 3.4 installed. Is there any option I can configure using Integration Services code?
    What is the Linux kernel version in which Integrations Services code is ported? I hope 2.6.32. Is this correct?
    Any help is appreciated.
    Saleem

    Hiya, 
    I have never worked with Linux for HyperV, however this download from Microsoft might describe what you need?
    Linux Integration Services 3.4 for Hyper-V Readme
    http://download.microsoft.com/download/4/9/7/4972134C-483D-494D-9B7D-BA74CAE50B94/Linux%20Integration%20Services%20v3%204%20Read%20Me.pdf

  • How to get the user and groups information from http header

    Hi All,
    In my current scneario, we are using Siteminder for SSO setup.. And in this process, after authentication and authorization, they are going to append the user information and group information of the user into a HTTP header and it will be sent back to our presentation services.. We have to extract the user information and group information from the http header.
    My HTTP header will look like as follows..
    SM_USER XYZ
    SM_USERDN CN=Firstname\, Lastname\, xyz, OU=GPO-Low Level Security,OU=Domain Users,OU=BU FDT,
    SM_USERGROUPS CN=GG-CA-SiteminderAdmins, OU=Global,OU=Domain Groups, DC=com^CN=GG-ServiceDeskAdmin-TCCORPCEFS
    And also if anyone explain me the overall working of SSO in detail like how presentation services will make a connection to BI server( I guess using Impersonator User), and also how our BI server will read the URL from presentation services and the over all working flow in our OBIEE..
    Thanks a lot....

    Please use the search! this topic has come up lots of times already.

  • Getting  the current operating system information through java

    hi ,
    How can i get the information about the current operating system on which i am working through the java application.

    System.getProperties() and look through the results. All kinds of interesting stuff in there.

  • Does the iTunes Auto-updater Realize the Currently Installed Version is 64?

    I installed iTunes64Setup.exe for v7.6 before. ONce installed, there is virtually no way to tell it is the 64-bit version (about iTunes, etc.)
    Today the iTunes auto updater alerted me to udpate to v7.7.1. How do I know it recognizes I need the 64-bit version instead of the regular Xp/Vista32 version?

    iOS: Device not recognised in iTunes
    Windows: http://support.apple.com/kb/TS1538

  • How we can get the current login user information.

    Hai Experts,
    How we can get the Curren Runnig user, while running the application,
    I tried the below one, but it was not working,
    Dim s As String
    s = objApplication.Company.UserName
    Regards,
    Saidarao yakkala

    Hi.
    Are you try to get and present current user name in workbook or WAD ?
    You may use user exit variable based on sy-uname.
    If you run WAD you may use built webitem info_field and show current user name.
    Regards.

  • Flex - Getting the HTTP error code raised from SAP

    Hi all,
    is there a way to catch the error code returned by a BSP page?
    For example, I have a Flex HTTPService that points to a BSP page somedata.xml, which is populated after retrieving data in onInitialization handler.
    In this handler, if something goes wrong, I set up the response error code like this:
    try.
    "Data Handler Class
    catch zcx_some_exc into lx_some_exc.
      error_string = lx_some_exc->get_text( ).
      response->set_status( code = 500 reason = error_string ).
    endtry.
    In my faultHandler function in Flex, I need to display error_string in an Alert box:
    private function HTTPFaultEventHandler(event:FaultEvent):void{
      Alert.show(event.fault.faultString);
    But in this way, it always display "HTTP Request error".
    Anyone can help me?
    Thanks a lot,
    R.

    This is a known issue with flex HTTPService.
    what you could do is
    set the status to 200 for BSP response
    and pass the error message in xml format.
    on the flex side, in your result handler, check the xml to see whether its error xml or your normal result xml.
    if its error xml, you can provide an alert and then stop processing.
    Ref: http://onrails.org/articles/2008/02/20/dealing-with-http-errors-in-a-flex-with-rails-application
    Regards
    Raja

  • Is there a test to verify the current running version of firefox is valid

    Is there a web site or application that can verify the running version of Firefox?

    See the Help > Troubleshooting Information page.
    *https://support.mozilla.org/kb/Using+the+Troubleshooting+Information+page
    *Firefox > About Mozilla Firefox
    You are currently running Firefox 13.0.1 and that is not the latest Firefox 15.0 release according to the user agent in the system details list.
    *Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:13.0) Gecko/20100101 Firefox/13.0.1
    If there are problems with updating then easiest is to download the full version and trash the currently installed version to do a clean install of the new version.
    Download a new copy of the Firefox program and save the disk image (dmg) file to the desktop
    *Firefox 15.0.x: http://www.mozilla.org/en-US/firefox/all.html
    *Trash the current Firefox application (e.g. open the Applications folder in the Finder and drag the Firefox application to the Trash) to do a clean (re-)install
    *Install the new version that you have downloaded
    *https://support.mozilla.org/kb/Installing+Firefox+on+Mac
    Your profile data is stored elsewhere in the Firefox Profile Folder, so you won't lose your bookmarks and other personal data if you uninstall and (re)install Firefox.
    *http://kb.mozillazine.org/Profile_folder_-_Firefox

  • Servlet acts as an RMI client to get the current time of day

    my application is servlet acts as an RMI client to get the current time of day from the DaytimeServlet RMI server so iam not getting the correctime....
    import java.io.*;
    import java.rmi.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    public class DaytimeClientServlet extends
    HttpServlet
    DaytimeServer daytime;
    protected DaytimeServer getDaytimeServer() {
    DaytimeServer stub.
    if (System.getSecurityManager() == null) {
    System.setSecurityManager(new
    RMISecurityManager());
    try {
    Registry registry =
    LocateRegistry.getRegistry(getRegistryHost(),
    getRegistryPort());
    return
    (DaytimeServer)registry.lookup(getRegistryName());
    catch (Exception e) {
    getServletContext().log(e, "Problem getting
    DaytimeServer reference");
    return null;
    private String getRegistryName() {
    String name = getInitParameter("registryName");
    return (name == null ? "DaytimeServlet" : name);
    private String getRegistryHost() {
    return getInitParameter("registryHost");
    private int getRegistryPort() {
    try { return
    Integer.parseInt(getInitParameter("registryPort");
    catch (NumberFormatException e) { return
    Registry.REGISTRY_PORT; }
    public void doGet(HttpServletRequest req,
    HttpServletResponse res)
    throws
    ServletException, IOException {
    res.setContentType("text/plain");
    PrintWriter out = res.getWriter();
    if (daytime == null) {
    daytime = getDaytimeserver();
    if (daytime == null) {
    throw new UnavailableException(this, "Could
    not locate daytime");
    out.println(daytime.getDate().toString());
    please help me out

    Hi lucentb,
    what i observed from your code is some simple coding faults are there.. so i am giving you some test code..
    i hope this will help you out.
    import java.io.*;
    import java.rmi.*;
    import java.rmi.registry.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    public class DaytimeClientServlet extends HttpServlet
    DaytimeServer daytime;
    protected DaytimeServer getDaytimeServer()
    if (System.getSecurityManager() == null)
    System.setSecurityManager(new RMISecurityManager());
    try {
    Registry registry = LocateRegistry.getRegistry(getRegistryHost(),
    getRegistryPort());
    return
    (DaytimeServer)registry.lookup(getRegistryName());
    catch (Exception e) {
    getServletContext().log(e, "Problem getting DaytimeServer reference");
    return null;
    private String getRegistryName()
    String name = getInitParameter("registryName");
    return (name == null ? "DaytimeServlet" : name);
    private String getRegistryHost() {
    return getInitParameter("registryHost");
    private int getRegistryPort()
    try
    return
    Integer.parseInt(getInitParameter("registryPort")); }
    catch (NumberFormatException e)
    return
    Registry.REGISTRY_PORT;
    public void doGet(HttpServletRequest req,
    HttpServletResponse res)
    throws
    ServletException, IOException {
    res.setContentType("text/plain");
    PrintWriter out = res.getWriter();
    if (daytime == null) {
    daytime = getDaytimeServer();
    if (daytime == null) {
    // Couldn't get it, so report we're
    unavailable.
    throw new UnavailableException(this, "Could
    not locate daytime");
    out.println(daytime.getDate().toString());
    If you have any problem after this please send me the exceptions and problem situations with deatils codes..
    Regards,
    TirumalaRao
    Developer Technical Support,
    Sun Microsystems, India.

  • How can customer enhance standard services delivered from SAP with add..

    Dear colleagues,
    could somebody tell me, how can a customer enhance the standard enterprise services delivered from SAP with their additional customer fields? I heard there is a XI-enhancement concept which should be use and it is without modification.But I could not find any concrete  document describing this enhancement processing.
    Please advise.
    Thanks in advance,
    Hongbo  Li

    Hi,
    I have similar requirement, did you find some thing on this?
    Regards

  • How do I get the current Itunes for MacBook when the reply is that it was created from a later version? I can't open iTunes or run the software inside it? Even the downloaded version will not function.

    I lost m iTunes downloader and cannot get the current version to work even when I download what is SUPPOSED to be the current version of iTunes. What can I do?

    If you've tried to install and older version of iTunes then it means exactly what it says, otherwise that message sometimes indicates a corrupt library file...
    Empty/corrupt library after upgrade/crash
    Hopefully it's not been too long since you last upgraded iTunes, in fact if you get an empty/incomplete library immediately after upgrading then with the following steps you shouldn't lose a thing or need to do any further housekeeping.  Note that in iTunes 11 an "empty" library may show your past purchases with links to stream or download them.
    In the Previous iTunes Libraries folder should be a number of dated iTunes Library (.itl) files. Take the most recent of these and copy it into the iTunes folder. Rename iTunes Library as iTunes Library (Corrupt) and then rename the restored file as iTunes Library. Start iTunes. Should all be good, bar any recent additions to or deletions from your library.
    Alternatively, depending on exactly when and why the library went missing, there may be a more recent .tmp file in the main iTunes folder that can be renamed as iTunes Library.itl to restore the library to a recent state.
    See iTunes Folder Watch for a tool to catch up with any changes since the backup file was created.
    When you get it all working make a backup!
    Should you be in the unfortunate position where you are no longer able to access your original library, or a backup of it, then see Recover your iTunes library from your iPod or iOS device.
    tt2

  • When trying to uninstall iTune (because the current install has problems), I get the error message 2324.  What should I do to reinstall the application?

    When trying to uninstall iTune (because the current install has problems; iTune error message states it cannot sync and that I should reinstall the application; also, it fails when I tried to upgrade to the latest release), I get the error message 2324.  What should I do to reinstall the application?

    That installer error is a "Can't open file" error
    It suggest that you may have a corrupt file.
    Try running a disk check
    http://windows.microsoft.com/en-US/windows7/Check-a-drive-for-errors
    If it fixes errors try uninstalling iTunes again.
    If that doesn't work, is it possible for find out the name of the problem file, is further information available? Try looking in your Action center - that's on the control panel. Another place is in the Windows Error logs. From the start menu , right click on "Computer" and select manage, then Event viewer.
    If nothing emerges, try a manual uninstall of iTunes and related programs according to this method:
    http://support.apple.com/kb/HT1923
    Don't worry if an uninstall fails, that is expected. Go on to the part where you have to delete files (2. Verify iTunes etc completely deleted) . Hopefully you manage to find a file that can't be deleted, that is the one we will need to deal with.

  • How to get current/present version guid from CRMD_ORDERADM_H ?

    Hi,
    Can any one tell me  how to get the current version guid value from CRMD_ORDERADM_H table for Business Object type 'BUS2000113' .
    For example for one contract if we have more than one version then how to get the latest version guid from this table?
    If I use FM ' BBP_PD_CTR_GETDETAIL'  and in version table how to know which one is the latest/current version?
    Need information for versions.
    Thanks a lot.
    Kevin.

    Hello Kevin,
           In FM  <b>' BBP_PD_CTR_GETDETAIL'</b> look at version table <b>E_VERSION</b> - Here you can check 'VERSION_' or there is another field 'CREATED_AT' - by using these you will get latest version.
    Regards,
    Shiv

Maybe you are looking for

  • How to crossover this binary tree..?

    You can view detail http://www.codeguru.com/forum/showthread.php?s=bb4cf7ad2b18a5115e8bd6ab3a4e9d17&t=470868 [nha khoa|http://www.sieuthi77.com/main/nhakhoa.html] .com/forum/showthread.php?s=bb4cf7ad2b18a5115e8bd6ab3a4e9d17&t=470868 I have these clas

  • Question: Special G/L Indicators

    Hi I am trying to extract a report where I need a logic to recognise the kind of special G/L Indicator the user enters from the selection screen. Below are the G/L indicator categories in which a user can enter an appropriate Special G/L indicator:-

  • Create empty document

    Hi, I try to create empty pdf document using C# from standalone app. Here is my code. CAcroApp acroApp = new AcroAppClass(); acroApp.Show(); AcroPDDoc pdDoc = new AcroPDDocClass(); Object jsObj = pdDoc.GetJSObject();     //  jsObj = null in this Type

  • Working with dup rows

    I have this (duplicates) on customer_id Table. customer_id, store, store2 1234,  45, 45 1234,  46, 45 1234,  45, 45 4322, 3,   12 4322, 12, 12I need to select the duplicate customer_ids where their store is different for any duplicate rows, and then

  • Changing standard price in Material Master.

    Hi Gurus,            Can anyone please tel me in material master Accounting1 view,is there any way to change the standard price field immediately,once its created?When I go in change mode the standard price field is disabled. Thank you all in advance