• Re: =?UTF-8?B?W0luZm8taW5ncmVzXSBGaW5kaW5nIC4uXGluZ3Jlc1xsaWIgZm9yIGEgc2NyaXA=?= =?UTF-8?B?dA==?=

    From Roy Hann@specially@processed.almost.meat to comp.databases.ingres on Mon Jan 24 09:16:00 2022
    From Newsgroup: comp.databases.ingres

    Thanks for that very comprehensive response Paul. That's a great public service.

    Not to take anything away from the rest of what you wrote, your first
    sentence points out something I didn't know. As it happens almost all
    my Windows machines running Ingres have multiple installations. So
    that explains why I don't see II_SYSTEM.

    Sure enough, I just hopped onto the one machine with only a single
    installation and II_SYSTEM is set, ripe for use.

    I am still puzzling over why it wouldn't be set on my other machines
    when it is implied in settings in PATH, LIB, etc.

    Since I would need to do an ingprenv to get the installation identifier
    I think parsing %LIB% for the "ingres\lib" entry remains the most
    concise solution. But bleh.

    Thanks again for putting my mind at rest.

    Roy

    Paul White wrote:

    Hi Roy,

    If the sysop has decided not install II_SYSTEM in in the System
    environment (or there may be multiple installations) then you have an
    number of options to search for installations:

    If you have access to an Ingres Command window.

    set | find "II"
    set | find /i "lib"


    Right click on an Ingres utility icon to see the wrapper which sets the environment based on the location.a In that shell you can query
    environment and ingprenv:

    eg
    Actian Administrator Command Prompt
    C:\IngresII\ingres\bin\ingadminwrap.exe "C:\Windows\system32\CMD.EXE" /K "C:\IngresII\ingres\bin\setingenvs.bat"

    Actian Visual DBA
    C:\IngresII\ingres\bin\ingwrap.exe "C:\IngresII\ingres\bin\vdba.exe"


    For DB servers I always use the 8 character namea to simplify admin scripting.a eg C:\IngresII, D:\IngresII or similar.a Default windows directories are usually:

    C:\ProgramData\Actian\
    C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Actian>
    C:\Program Files\Actian\
    C:\Program Files (x86) \Actian\


    If you have admin access to the server the reg command can be used directly:

    reg query HKLM\Software\classes | find /i "\ingres"

    HKEY_LOCAL_MACHINE\Software\classes\Ingres.IIA.II HKEY_LOCAL_MACHINE\Software\classes\Ingres.VDBA.II HKEY_LOCAL_MACHINE\Software\classes\IngresImportExport HKEY_LOCAL_MACHINE\Software\classes\IngresImportExport.1 HKEY_LOCAL_MACHINE\Software\classes\Ingres_Database_II


    reg query hklm\software\classes\ingres_database_ii /s HKEY_LOCAL_MACHINE\software\classes\ingres_database_ii\shell
    aaa II_SYSTEMaaa REG_SZaaa C:\IngresII
    aaa II_INSTALLATIONaaa REG_SZaaa II
    aaa II_TEMPORARYaaa REG_SZaaa C:\ProgramData\Actian\IngresII\temp


    The output of commands can be captured to a variable if you are trying
    to automate:

    for /f "tokens=*" %%a in ( 'reg query hklm\software\classes\ingres_database_ii /s ^| find "II_SYSTEM"') do set MYLOC=%%a
    set MYLOC=II_SYSTEMaaa REG_SZ C:\IngresII
    echo %MYLOC%
    II_SYSTEMaaa REG_SZaaa C:\IngresII

    for /f "tokens=3" %%a in ( 'reg query hklm\software\classes\ingres_database_ii /s ^| find "II_SYSTEM"') do set MYLOC=%%a
    set MYLOC=C:\IngresII
    echo %MYLOC%
    C:\IngresII

    (ps use %a instead of %%a if running directly from command window)


    You can use Powershell to retrieve registry items without admin access.a
    I'm not a fan of powershell.a All my scripts are traditional windows BAT files.

    PS W:\> Get-ChildItem -Path HKLM:\software\classes\ingres* |
    Select-Object Name
    Name
    ----
    HKEY_LOCAL_MACHINE\software\classes\Ingres.IIA.II HKEY_LOCAL_MACHINE\software\classes\Ingres.VDBA.II HKEY_LOCAL_MACHINE\software\classes\IngresImportExport HKEY_LOCAL_MACHINE\software\classes\IngresImportExport.1 HKEY_LOCAL_MACHINE\software\classes\Ingres_Database_II


    PS W:\> Get-Item -Path HKLM:\software\classes\ingres_database_II\shell
    aaa Hive: HKEY_LOCAL_MACHINE\software\classes\ingres_database_II\ Nameaaaaaaaaaaaaaaaaaaaaaaaaaa Property
    ----aaaaaaaaaaaaaaaaaaaaaaaaaa --------
    shellaaaaaaaaaaaaaaaaaaaaaaaaa II_SYSTEMaaaaaa : C:\IngresII
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa II_INSTALLATION : II
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa II_TEMPORARYaaa : C:\ProgramData\Actian\IngresII\temp


    PS W:\> Get-ItemProperty -Path HKLM:\software\classes\ingres_database_II\shell
    II_SYSTEMaaaaaa : C:\IngresII
    II_INSTALLATION : II
    II_TEMPORARYaaa : C:\ProgramData\Actian\IngresII\temp
    PSPathaaaaaaaaa : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software\classes\ingr
    aaaaaaaaaaaaaaaaa es_database_II\shell
    PSParentPathaaa : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software\classes\ingr
    aaaaaaaaaaaaaaaaa es_database_II
    PSChildNameaaaa : shell
    PSDriveaaaaaaaa : HKLM
    PSProvideraaaaa : Microsoft.PowerShell.Core\Registry


    PS W:\> Get-ItemPropertyValue -Path HKLM:\software\classes\ingres_database_II\shell -name II_SYSTEM
    C:\IngresII


    On 24/01/2022 6:30 am, Roy Hann wrote:
    In the *nix world I would look for $II_SYSTEM and navigate from there.
    But there is no II_SYSTEM in Windows. Is there anything that makes it
    look like I know what I'm doing other than searching %LIB% for an entry
    ending with "ingres\lib"?

    Roy
    _______________________________________________
    Info-ingres mailing list
    Info-ingres@lists.planetingres.org
    https://lists.planetingres.org/mailman/listinfo/info-ingres


    --- Synchronet 3.21b-Linux NewsLink 1.2