Here is my basic scenario. We have a custom application that uses MS Access. We have a front end MDE and the Data files on the back end are MDB's. Some of the clients we service have moved on beyond Office 2003 and are running 2007 and 2010. Our development division for whatever reason has not yet moved the coding for this application beyond 2003. Due to that, and wanting to eliminate relying on a client having the correct version of MS Access and what not I am building a ThinAPP with out application. For the most part it works, but under certain circumstances there are a couple if issues that I would hopefully like to have some help with......
The application is using the Access 2003 runtime. I have the ThinAPP in writecopy mode to prevent changes to the host since most of the clients have in some form or fashion a different version of Office (and sometimes Access ) already installed. If I launch (for the sake of an example we will use Access 2010) a database fro my machine it will use my file association properly and open the database in Access 2010. With that database open I can run the ThinAPP that launches the virtual 2003 Runtime and run my program without issue. Sounds good, works good.... Here is the issue.... If I open the ThinAPP first and launch my application that runs with the 2003 Runtime, then when I try to double click one of my 2010 databases (.accdb's) it attempts to open that ACCDB in the 2003 runtime the ThinAPP is using rather than the client machines Access 2010......
Bottom line issue, if I launch my client DB's first they use 2010 as they are supposed to but if I try to launch one after the ThinAPP using the 2003 runtime is already open it tries to launch using that same 2003 runtime and fails.... it even throws a second instance of the ThinAPP in the taskmanger!
Anyone seen this before? Any thoughts/ideas would be greatly appreciated.
You have a ThinApped your application and Access 2003, and if your virtual app is already running and then you click on one of the 2010 databases (.accdb's) it attempts to open that ACCDB in the 2003 runtime the ThinAPP is using rather than the client machines Access 2010. I am not a 100% sure, but there is a good chance that DDE is used in this case and since 2003 is already running, it repsonds to the DDE request and tries openieng the DB file.
Are you using ThinApp 4.6.2? ThinApp 4.6.2, has a package.ini setting "IgnoreDDEMessages", try by setting this to 1, and then rebuild your 2003 package, and then try your scenario. I hope this will help.
Thanks.
Thanks for the info! I actually just finished reading a different article relaying a simliar message and just downloaded/installed the updated ThinAPP Packager as I was on 4.6.1 not 4.6.2. I am about to give it a try and will let you know if it works or not! Thanks!
Well unfortunately this did not help..... It almost seems like when I double-click an ACCDB file with the ThinAPP open already it is associating the ACCDB with the Access 2003 Runtime the ThinAPP has spawned but 2003 does not recognize the ACCDB extension and it throws an invalid file type error.
Your problem is the association, which is one of the biggest issues in deployment land.
You will not be able to get this completely right by 'just' extension association. There will always be a fight which version will catch the doubleclick. (and this is why we don't use thinreg or MSI deployment in our managed environments at the customers).
In your case there are 2 possible actions:
If you have a desktop manager in place (which handles the desktop/start menu), add a shortcut for the users in your development team that opens the database using the 2003 thinapped version of access.
Otherwise create a 'start me' shortcut next to the DB (which also starts the thinapped 2003 access) and use that one.
At last: your developers should NOT use doubleclick on the db anymore!
Our best practice is to provide users with managed shortcuts anyway. This way you are in control how items are opened, and the next migration allows you to specify how databases (, ...) are opened, and with what app.
Kind regards,
Michael Baars - Comprehensive ICT Solutions (NL)
(Please mark the question answered if so and reward points to those who helped you...)
I would agree with you that they should not be double-clicking directly on the database but unfortunately they are not our employees, they are clients to which we provide a solution for. This one ThinAPP is the only product we supply them. they are State counties and some do not even have what you would classify as a real IT department. not being able to control the customer environment is why we started using the ThinAPP product in the first place as we were running into many issues with various versions of MS Access that customers would have. We had to use a runtime with our deployment because many of the counties we service did not have Access at all. with Access 2000 and 2003 there wasn't too much trouble but as we move forward and customers get 2007 and 2010 the different versions don't always play nice together. we origianlly packaged our software along with the MS Access runtime but started running into compatibility issues and was hoping moving to a ThinAPP deployment we could alleviate many of the issues commonly encountered when running multiple verisions of an Office product. The strange thing is not all file extensions try to open with the virtual runtime that is running.... ACCDB and MDB extensions try open with the already running virtual runtime while MDW's and ACCDE's open properly. if the ThinAPP is not running they all open properly. We aren't using thinreg or deploying with an MSI as many of the counties we work with are locked down pretty tight and we tried to avoid running anything that would require administrative privileges.
