J
John B
I answered my own question re drawing controls loading add-ins. The answer
is that they do and they use the options set by the user using the Visio user
app interface. These seems to me to create some huge problems for developers
interested in writing apps using the drawing control. Since the drawing
control does not support visio vba, if a developer wants to write a single
code base for both the Visio app and a separate app using drawing control( eg
developing a form based app using a drawing as a UI) a natural way to do this
would be to write an Addin. However, this could easily result in each
instance of the form app or visio loading hundreds of addin dlls that are not
wanted. What is to prevent me from installing a few hundred addins as part
of the installation for a totally unrelated app that have been set to
autoload for everyone. In that case, the user will not even see the addins
listed in the visio UI so that they could be deselected. I could get around
the security warning by using shim code.
It is possible to set force an addin to be loaded by setting connect = true
in either visio vba code or in code in the container app using the drawing
control. Is it possible to get to the app object to set connect = false
before the addins are loaded? Setting connect = false after loading does not
solve the problem of the app loading hundreds of dlls unless connect can be
set before the loading takes place. If microsoft is interested, a much
better solution would be for the drawing control to never load addins unless
connect = true is set in code. Put another way, in the Addon and COMAddin
collections, the connect property should always be initially set to false no
matter what the load setting is in the registry. Even better yet would be to
remove the autoload, all users option entirely from all office products.
is that they do and they use the options set by the user using the Visio user
app interface. These seems to me to create some huge problems for developers
interested in writing apps using the drawing control. Since the drawing
control does not support visio vba, if a developer wants to write a single
code base for both the Visio app and a separate app using drawing control( eg
developing a form based app using a drawing as a UI) a natural way to do this
would be to write an Addin. However, this could easily result in each
instance of the form app or visio loading hundreds of addin dlls that are not
wanted. What is to prevent me from installing a few hundred addins as part
of the installation for a totally unrelated app that have been set to
autoload for everyone. In that case, the user will not even see the addins
listed in the visio UI so that they could be deselected. I could get around
the security warning by using shim code.
It is possible to set force an addin to be loaded by setting connect = true
in either visio vba code or in code in the container app using the drawing
control. Is it possible to get to the app object to set connect = false
before the addins are loaded? Setting connect = false after loading does not
solve the problem of the app loading hundreds of dlls unless connect can be
set before the loading takes place. If microsoft is interested, a much
better solution would be for the drawing control to never load addins unless
connect = true is set in code. Put another way, in the Addon and COMAddin
collections, the connect property should always be initially set to false no
matter what the load setting is in the registry. Even better yet would be to
remove the autoload, all users option entirely from all office products.