What dll does bricscad v13 use for AxDbDocument?

In autocad, I have lisp code to check if the dll is registered that provides AxDbDocument objects, looks like this:

(COND
  ((WCMATCH (VLAX-PRODUCT-KEY) "*\\R19*")
   ;REG DBX IF NOT
   (IF (AND (NOT (VL-REGISTRY-READ "HKEY_CLASSES_ROOT\\ObjectDBX.AxDbDocument.19\\CLSID"))
        (FINDFILE "axdb.dll")
     )
      (STARTAPP "regsvr32.exe" (STRCAT "/s \"" (FINDFILE "axdb.dll") "\""))
    )
   1
  )....

so, I would like to know if this same methodology applies to bricscad.

What would I put for the reg entry path and axdb.dll?

I don't exactly recall why am doing this check, as it seems like the acad install would reg the dll.

I must have run into cases that needed it.

thanks

Comments

  • Dear James,

    such registration problem can appear in AutoCAD, if not running AutoCAD as admin (using "Run as Admin" in desktop shortcut);
    if there are multiple Acad versions installed, then they *must* re-register themselves at each startup - and that COM-re-registration,
    which is required by COM, and even demanded by Microsoft, requires admin rights.
    This is since WInXP/Vista - before, up to Win2000, HKEY_CLASSES_ROOT was by default write-enabled for standard user rights.

    Now, with MS' security paranoia, they simply increased necessary rights for HKCR, thus killing 50% of the COM logic ...

    So in summary, running multiple Acad versions side-by-side, or running Acad and BricsCAD side-by-side, always needs admin rights ...
    so far for registration of Acad's ObjectDbx module ...

    Now for the good news :
    ObjectDbx support it is built-in in BricsCAD - not any DLL to load or register, no version identification necessary at all;
    usually you can use code like known from Acad :

      (setq $objectDbxKey "ObjectDBX.AxDbDocument.19") ;; the usual key (only ObjectDBX. is significant) - version postfix does not matter in BricsCAD

      (setq dbx (vlax-get-object $objectDbxKey))  ;; can be nil
      (setq dbx (vlax-create-object $objectDbxKey))
      (setq dbx (vlax-get-or-create-object $objectDbxKey))

    the last method is likely the safest ...

    So no need to struggle with any stuff "around ObjectDbx" - simply use it :-)

    I hope this helps to continue ?

    Many greetings & a nice weekend
    Torsten
  • very good, thx for the reply.

    I think my users do have rights to HKCR, as power users, but even better to not need it at all.

    I'm liking Bricscad more and more...

  • Dear James,

    the "Power User" under WinXP does have enough rights to write to HKCR ...
    but MS changed this with Vista !!
    Since Vista, you need true "admin" rights to write to HKCR ...
    the default login under Vista / Win7 / Win8 *seems* do have admin rights, but this is misleading,
    it is only a subset of normal "admin" rights.

    The safest way is to use "Run as admin" at desktop shortcut icon - this definitely has higher (and enough)
    "admin" rights then the standard login with pseudo-admin rights;
    nobody except MS knows why those "admin" rights are different.

    Only when you add the login-user also to *any* user group, then you will have full admin rights.

    But again, this really only matters if you have multiple AutoCAD and/or multiple BricsCAD versions installed & using parallel.

    Many greetings !
  • you have actually hit on a subject I have long struggled with.

    At my company, we do not have security issues with users. They know to behave.

    Its malware we want to avoid, so give users power user rights. That means they have no access to various places like program files.

    I do not care about revealing my password, I just want a way to copy files to program files via a batch file, with user logged in, not me.

    We currently do it with dameware or Kasaya, both a bit of a pain as I must go back to my desk to run them.

    I have tried various things, none work with file moving/copying, jjust running exe's.

This discussion has been closed.