You need to to have an event fired after opening a drawing. This will check the version of you drawing program. If this is not matching you need to have a predefined mapkey, because toolkit does NOT support this kind of a feature. Every user should have the DLL loaded, and you can drive this completely by env variables. So nothing must be hardcoded in the c program. On top I would use a custom parameter, where you see that the drawing is from you company.
The logic is only, if the saved version does not match the current version, run the mapkey and update the saved version (external data or a drawing parameter). And do nothing if one env param is missing.
You need minimum this 2 env vars, set in any client psf. Like this:
- CUST_CREO_DRAWING_PROGRAM_VERSION=1
- The current version of your program (keep it simple use an int value)
- CUST_CREO_DRAWING_PROGRAM_MAPKEY=_xx_udp
- the mapkey to be fired, use %_xx_udp; ( _xx_udp is predefined in your config.pro, update drawing program)
If every user load this simple DLL, you drawing program can be update on every machine where a user has setup this simple env. I even guess for a worker, but for this I’m not sure, because I guess no menu is picked.
Now you need only to ask someone in your team to write the code 🙂 (less than 200 lines) with some tests 1 Day of work. For a guru 45 min for the code 🙂 For me about 2 hours to make it save.
Table restricted Parameter are NOT dynamically updated on open, For me this is a semi, not so hot feature 😩