Bentley Communities
Bentley Communities
  • Site
  • User
  • Site
  • Search
  • User
ProjectWise
  • Product Communities
ProjectWise
ProjectWise Design Integration Forum ProjectWise Open document with dialog box
    • Sign In

    • State Not Answered
    • Replies 4 replies
    • Subscribers 60 subscribers
    • Views 1063 views
    • Users 0 members are here

    ProjectWise Open document with dialog box

    Jutin Jussal
    Offline Jutin Jussal over 1 year ago

    When right clicking a DGN file and selecting Open With in ProjectWise Explorer, some users are able to see all of their installed Applications and some are unable to see everything. We are trying to get users to see Bentley View and OpenRoads along with MicroStation but unfortunately, some do not see Bentley View or OpenRoads. I thought this could be something to do with an application association in ProjectWise Administrator but with users getting mixed results, I do not believe this is an issue with the Global Application settings in PW Administrator. Any help is greatly appreciated.

    Thank you!

    • Sign in to reply
    • Cancel

    Top Replies

    • Kevin van Haaren
      Offline Kevin van Haaren Wed, Dec 15 2021 1:05 PM in reply to Jutin Jussal +1
      I use the registry. If you have administrator installed on a machine with the software installed you can click the ... and select the application in the Program Class section. Sometimes that puts in the…
    Parents
    • Kevin van Haaren
      0 Offline Kevin van Haaren Tue, Dec 14 2021 10:33 PM

      This is surprisingly complicated, a lot of it because Microsoft has done some truly bizarre things.

      Not sure how familiar you are with Program Classes they are mostly what ProjectWise uses to decide which programs to list as available programs. You can also, with a bit of work, hard code a path to an application and user's sometimes manage to do this for User Associations. This is pretty fragile. For example OpenRoads Designer, OpenRail Designer, OpenBridge Modeler are all dual installable now, which means the 10.9 and 10.10 versions install in different paths. If you have a hard-coded path to OpenRoads Designer 10.9 and install 10.10 and remove 10.9 there's a fair chance it won't show up (depends on other settings outlined below).

      The Program Class name is a registry entry used by Windows to figure out what application to launch. It is different than old school "file association" that you can assign in Windows Explorer. Using Windows to change what dgn is associated too typically doesn't help.

      Bentley has a hierarchy of Program Class names that allow a default and version specific Program Classes to be defined.

      For MicroStation:

      • Bentley.MicroStation.Application => generic MicroStation, can be v8i or Connect
      • Bentley.MicroStation.Application.{B1E9E1E2-213C-47e5-BDD0-6A528DAE0244} => MicroStation V8i
      • Bentley.MicroStation.Application.{39949BF5-7E21-4A7B-A640-6E7199B7D588} => MicroStation Connect

      ProjectWise build a list of what applications to show by first adding what Bentley.MicroStation.Application points to. That's usually the last MicroStation installed. Then it adds all the Program Class defined as an Open action in the datasource application properties. Then it adds whatever the user has in their User Associations. Duplicates & programs that don't exist locally are then removed from the list and that's what you see.

      If you have a user with no user associations, and on their machine Bentley.MicroStation.Application points at MicroStation Connect, and the datasource is set to use a program class name of Bentley.MicroStation.Application (or Bentley.MicroStation.Application.{39949BF5-7E21-4A7B-A640-6E7199B7D588}), the user will only see MicroStation Connect.

      If in user associations they pick MicroStation V8i, that will be listed too. If you add an additional Open option in the datasource global properties with program class name Bentley.MicroStation.Application.{B1E9E1E2-213C-47e5-BDD0-6A528DAE0244}, then that too will add MicroStation V8i to the list.

      Now the verticals have their own Program Class names. The generic names I've run into are:

      • Bentley.OpenRoadsDesigner.Application
      • Bentley.OpenRailDesigner.Application
      • Bentley.OpenBridgeModeler.Application
      • Bentley.PowerInRoads.Application
      • Bentley.PowerGEOPAK.Application

      For 10.9 and 10.10 each has it's own Class ID version too (that's the number in {} after the generic name). For PowerGEOPAK, PowerInRoads and PowerRailTrack they have different class ids for SS2 & SS10 (SS4 & SS10 have the same class id).

      So you have a couple of options: show users how to use User Associations to add exactly the application they want, or if you want to list every installed application automatically you can add the version specific Program Classes. If you don't have that many applications to support this is probably better. I did this method but because we still support the Power V8i SS2 & SS10 versions, plus 10.9 and 10.10, plus i list MicroStation for externals that's 12 program class names to assign.

      After doing that this is what my Open With looks like on the computer i use to test Connect applications. (I just relized i don't have OBM 10.10 listed, need to fix that) (user's only see what's actually installed on the their computer so the list isn't quite so overwhelming for them)

       

      • Cancel
      • Vote Up 0 Vote Down
      • Sign in to reply
      • Verify Answer
      • Cancel
    Reply
    • Kevin van Haaren
      0 Offline Kevin van Haaren Tue, Dec 14 2021 10:33 PM

      This is surprisingly complicated, a lot of it because Microsoft has done some truly bizarre things.

      Not sure how familiar you are with Program Classes they are mostly what ProjectWise uses to decide which programs to list as available programs. You can also, with a bit of work, hard code a path to an application and user's sometimes manage to do this for User Associations. This is pretty fragile. For example OpenRoads Designer, OpenRail Designer, OpenBridge Modeler are all dual installable now, which means the 10.9 and 10.10 versions install in different paths. If you have a hard-coded path to OpenRoads Designer 10.9 and install 10.10 and remove 10.9 there's a fair chance it won't show up (depends on other settings outlined below).

      The Program Class name is a registry entry used by Windows to figure out what application to launch. It is different than old school "file association" that you can assign in Windows Explorer. Using Windows to change what dgn is associated too typically doesn't help.

      Bentley has a hierarchy of Program Class names that allow a default and version specific Program Classes to be defined.

      For MicroStation:

      • Bentley.MicroStation.Application => generic MicroStation, can be v8i or Connect
      • Bentley.MicroStation.Application.{B1E9E1E2-213C-47e5-BDD0-6A528DAE0244} => MicroStation V8i
      • Bentley.MicroStation.Application.{39949BF5-7E21-4A7B-A640-6E7199B7D588} => MicroStation Connect

      ProjectWise build a list of what applications to show by first adding what Bentley.MicroStation.Application points to. That's usually the last MicroStation installed. Then it adds all the Program Class defined as an Open action in the datasource application properties. Then it adds whatever the user has in their User Associations. Duplicates & programs that don't exist locally are then removed from the list and that's what you see.

      If you have a user with no user associations, and on their machine Bentley.MicroStation.Application points at MicroStation Connect, and the datasource is set to use a program class name of Bentley.MicroStation.Application (or Bentley.MicroStation.Application.{39949BF5-7E21-4A7B-A640-6E7199B7D588}), the user will only see MicroStation Connect.

      If in user associations they pick MicroStation V8i, that will be listed too. If you add an additional Open option in the datasource global properties with program class name Bentley.MicroStation.Application.{B1E9E1E2-213C-47e5-BDD0-6A528DAE0244}, then that too will add MicroStation V8i to the list.

      Now the verticals have their own Program Class names. The generic names I've run into are:

      • Bentley.OpenRoadsDesigner.Application
      • Bentley.OpenRailDesigner.Application
      • Bentley.OpenBridgeModeler.Application
      • Bentley.PowerInRoads.Application
      • Bentley.PowerGEOPAK.Application

      For 10.9 and 10.10 each has it's own Class ID version too (that's the number in {} after the generic name). For PowerGEOPAK, PowerInRoads and PowerRailTrack they have different class ids for SS2 & SS10 (SS4 & SS10 have the same class id).

      So you have a couple of options: show users how to use User Associations to add exactly the application they want, or if you want to list every installed application automatically you can add the version specific Program Classes. If you don't have that many applications to support this is probably better. I did this method but because we still support the Power V8i SS2 & SS10 versions, plus 10.9 and 10.10, plus i list MicroStation for externals that's 12 program class names to assign.

      After doing that this is what my Open With looks like on the computer i use to test Connect applications. (I just relized i don't have OBM 10.10 listed, need to fix that) (user's only see what's actually installed on the their computer so the list isn't quite so overwhelming for them)

       

      • Cancel
      • Vote Up 0 Vote Down
      • Sign in to reply
      • Verify Answer
      • Cancel
    Children
    • Kevin van Haaren
      0 Offline Kevin van Haaren Wed, Dec 15 2021 11:08 AM in reply to Kevin van Haaren

      Oh, i found my list of Program Class Names for the Bentley software. I haven't updated it for 10.10 versions yet but:

      Application Version Program Class Name
      MicroStation Version Independent Bentley.MicroStation.Application
      MicroStation V8i SS10 Bentley.MicroStation.Application.{B1E9E1E2-213C-47e5-BDD0-6A528DAE0244}
      MicroStation CONNECT Bentley.MicroStation.Application.{39949BF5-7E21-4A7B-A640-6E7199B7D588}
      Power GEOPAK Version Independent Bentley.PowerGEOPAK.Application
      Power GEOPAK V8i SS2 Bentley.PowerGEOPAK.Application.{9B761AD8-C9AB-40F1-BA77-C24AE5B72D18}
      Power GEOPAK V8i SS10 Bentley.PowerGEOPAK.Application.{C6AAA004-FECD-4f5f-8E45-BBDED70BD222}
      Power InRoads Version Independent Bentley.PowerInRoads.Application
      Power InRoads V8i SS2 Bentley.PowerInRoads.Application.{593F2B8E-BDEE-490c-B4C3-B48BC356DB91}
      Power InRoads V8i SS10 Bentley.PowerInRoads.Application.{6AADD2ED-E230-47b9-928D-2AC9518B8A8C}
      Power Rail Track Version Independent Bentley.PowerRailTrack.Application
      Power Rail Track V8i SS10 Bentley.PowerRailTrack.Application.{6F40A634-F96C-4092-AD64-1E8AF69F47D4}
      OpenRoads Designer Version Independent Bentley.OpenRoadsDesigner.Application
      OpenRoads Designer CONNECT Bentley.OpenRoadsDesigner.Application.{D11A86DD-FF26-4139-9C79-C1ABB4C8B5BF}
      OpenBridge Modeler Version Independent Bentley.OpenBridgeModeler.Application
      OpenBridge Modeler CONNECT Bentley.OpenBridgeModeler.Application.{81969A98-EDF7-4B21-9D23-7A15482E543F}
      OpenRail Designer Version Independent Bentley.OpenRailDesigner.Application
      OpenRail Designer CONNECT Bentley.OpenRailDesigner.Application.{718972C7-007F-4F72-8AD5-5B0B750E2493}

       

      • Cancel
      • Vote Up 0 Vote Down
      • Sign in to reply
      • Verify Answer
      • Cancel
    • Jutin Jussal
      0 Offline Jutin Jussal Wed, Dec 15 2021 12:18 PM in reply to Kevin van Haaren

      Thank you very much for your help.

      Do you know where I can find the program class names for the version specific applications I have installed? Would this be in the registry or does Bentley have a list of these somewhere?

      • Cancel
      • Vote Up 0 Vote Down
      • Sign in to reply
      • Verify Answer
      • Cancel
    • Kevin van Haaren
      0 Offline Kevin van Haaren Wed, Dec 15 2021 1:05 PM in reply to Jutin Jussal

      I use the registry. If you have administrator installed on a machine with the software installed you can click the ... and select the application in the Program Class section. Sometimes that puts in the exact version program class, sometimes it puts in the generic. that'll at least get you a start.

      in the registry, on a machine with the software installed, go to Computer\HKEY_CLASSES_ROOT\. Scroll down that list until you see the Bentley keys start to show up. So far the form for all the apps I've needed has been Bentley.XXX.Application.VERSION_GUID where XXX is a short name for the application (without spaces) so OpenRoadsDesigner or MicroStation. VERSION_GUID is the long string in {}.

      To figure out which version the GUID goes to I then search the registry for the GUID (including {}) as a key name. You should find it under Computer\HKEY_CLASSES_ROOT\CLSID. Under the GUID is a LocalServer32 folder, the default value in that folder is the path to the application that guid is assigned to.

       

      • Cancel
      • Vote Up +1 Vote Down
      • Sign in to reply
      • Verify Answer
      • Cancel

    Communities
    • Home
    • Getting Started
    • Community Central
    • Products
    • Support
    • Secure File Upload
    • Feedback
    Support and Services
    • Home
    • Product Support
    • Downloads
    • Subscription Services Portal
    Training and Learning
    • Home
    • About Bentley Institute
    • My Learning History
    • Reference Books
    Social Media
    •    LinkedIn
    •    Facebook
    •    Twitter
    •    YouTube
    •    RSS Feed
    •    Email

    © 2023 Bentley Systems, Incorporated  |  Contact Us  |  Privacy |  Terms of Use  |  Cookies