|
security
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
How can I inhibit the security warning when starting Access with a Shell command?I've been using these newsgroups for some time and find them to be an invaluable source of information and advice. But now I have a specific problem that I cannot find an answer to; perhaps someone could point me in the right direction? Briefly, I'm involved in the development of a product (written in Access 2003) that will analyse another Access database, and as part of that analysis process I need to open the target database in another instance of Access. My problem is that I need to use workgroup security and I would also like to inhibit the security warning that appears when Access starts. I believe that is is not possible to specify a user and password when using automation, and that the database must be opened using Shell. I am thus using Shell to open the target database, with the /wrkgrp, / user and /pwd options set appropriately. I have found no way of inhibiting the security warning and am therefore using SendKeys to send Shift+O after a brief delay. I am then grabbing the instance of Access just opened by using GetObject. This works but is quite messy, and I'd like to have Access startup completely invisibly. I know that I can inhibit the security warning using automation by means of the AutomationSecurity property of the Access application, but that automation does not allow the use of workgroups. I've been struggling for days with this. Am I missing something obvious? Does anyone have any suggestions? Thanks Hi, Michael.
> I have found no way of For future reference, that technique won't work in Windows Vista with UAC > inhibiting the security warning and am therefore using SendKeys to > send Shift+O after a brief delay. I am then grabbing the instance of > Access just opened by using GetObject. turned on. It's not a good idea to use SendKeys anyway, especially on processes that take more than a split second, and opening an application that has the Macro Security level set higher than "Low" or that checks for unsafe expressions is going to take way longer than a split second. > I know that I can inhibit the security warning Correct. Well, it doesn't allow the default Admin user to have a password > using automation by means of the AutomationSecurity property of the > Access application, but that automation does not allow the use of > workgroups. set, because all Jet databases use workgroups, even the unsecured ones. > I've been struggling for days with this. Am I missing something No. The rest of us have tried it, too. Doesn't work with both Access User > obvious? Level Security and Macro Security set higher than "Low" and/or checking for unsafe expressions, unless you want the user to click those message boxes in the warnings. The solution is to either set Macro Security level to "Low" and not check for unsafe expressions or else digitally sign the database file and have the recipient of the database file trust that digital certificate. HTH. Gunny See http://www.QBuilt.com for all your database needs. See http://www.Access.QBuilt.com for Microsoft Access tips and tutorials. Blogs: www.DataDevilDog.BlogSpot.com, www.DatabaseTips.BlogSpot.com http://www.Access.QBuilt.com/html/expert_contributors2.html for contact info. Thanks for the suggestions and advice.
> It's not a good idea to use SendKeys anyway, especially on I agree... and was using this method as a workaround until I'd> processes that take more than a split second, and opening an application > that has the Macro Security level set higher than "Low" or that checks for > unsafe expressions is going to take way longer than a split second. discovered a better way of doing things. > The rest of us have tried it, too. Doesn't work with both Access User The trouble is that this is a product we'll be using at customer sites> Level Security and Macro Security set higher than "Low" and/or checking for > unsafe expressions, unless you want the user to click those message boxes in > the warnings. The solution is to either set Macro Security level to "Low" > and not check for unsafe expressions or else digitally sign the database > file and have the recipient of the database file trust that digital > certificate. - or even selling to customers - and we have no control over the security settings on their system. I need to write something that will open Access invisibly regardless of workgroup and Macro Security settings, but it looks like you're confirming my suspicion that that is impossible... Is there any way of using the PrivDbEngine to achieve this? Maybe I'm going about this in completely the wrong way. My program analyses and reports on all objects in a target database - tabledefs, querydefs, containers, documents, etc. I can get most of the information I need quite easily but in order to get inside the forms and modules and examine the code I believe I have to open the database in another instance of Access. Is there another way of getting hold of the code? |
|||||||||||||||||||||||