Two questions come to mind.Can A2013 Runtime coexist with A365 Runtime?
More specifically, if A2013 Runtime already exists, can the A365 Runtime be installed?
Can A2013 Runtime coexist with A365 Runtime?
More specifically, if A2013 Runtime already exists, can the A365 Runtime be installed?
It makes sense, if multiple Access databases with different requirements are used.it makes no sense to have multiple versions of the runtime installed.
Not unless one version of Access wouldn't run them all and that would be very unusual. Frequently you want different full and Runtime or multiple full but I've never seen a situation where you would need multiple runtimes. That would be a shop with heavy Access usage and no one who ever converted old apps to newer versions. Strange indeed.It makes sense, if multiple Access databases with different requirements are used.
Microsoft can be a bit sneaky...Yes, different Access runtime versions can coexist on the same machine. They install into separate folders. Just be sure to compile your accde/accda files with the correct version
This doesn't change the version of Access that runs the program. What it does is it tells whatever version of Access that Windows has associated with the .accde to open the database and PRETEND to be the Runtime engine. So you could have A2013 or O365 in control of the .accde - no way to tell. You need to look at the Windows file associations in order to determine what Application Windows will run in this scenario.I installed A365 with no problem and I ran the program using a shortcut whose Target was something like C:\AppDir\AppName.accde /Runtime
Thanks for the info. I believe #13 clears matters.This doesn't change the version of Access that runs the program. What it does is it tells whatever version of Access that Windows has associated with the .accde to open the database and PRETEND to be the Runtime engine. So you could have A2013 or O365 in control of the .accde - no way to tell. You need to look at the Windows file associations in order to determine what Application Windows will run in this scenario.
To control what program opens your application, you MUST use a shortcut that opens Access (whatever version) and passes in the name of the .accde you are trying to open. Otherwise, as Doc mentioned, you are at the mercy of Windows and the file association process and have no control over what app will actually run your database.
Multiple versions of Access will fight over who owns a particular extension. THAT is the major issue you run into since the last version of Access to open takes over the file association. I have no idea what happens if you try to open two different applications at the same time, each with a different version of Access but you should figure this out before committing to this plan. Once you have multiple versions of Access installed, YOU need to open Access and then open the app. You can no longer rely on the file association to always open the correct version.
The other major issue involves OLE automation. This issue you probably need to solve by switching from late binding to early binding so you pick the Office version at compile time rather than at run time.
It is bad enough when YOU, the developer, have to deal with multiple installed versions. I would never inflict this on a user willingly.
Newer versions of Access usually run applications created with older versions without issue. You always need to be careful about clean compiles but if you deliver .accde's then that is taken care of. That leaves you with the bitness incompatibility which is harder to deal with because that requires that you create the .accde's with the same bit version that will run the app.
Can you control the folder where the Runtime is stored?I always installed RunTime on customers' PCs to prevent them running the program using a different version of Access to my developed version. If they had the same version of Access installed, I still used RunTime, just in case they installed a later version afterwards. But mainly because I wanted to be in control of the system setup. I automated the setup with an executable install file created from a batch file. Then some bright spark couldn't tinker with the setup as the .EXE prevented that. I'd allow them to have the BE wherever they preferred, locally or away on a server. But the FE was always where I wanted it to be. Much easier for support. Last thing I wanted was someone there thinking they knew what they were doing.
I'd have a specifically named folder off the C:\ and installed RunTime into that. Off the same folder I'd then have a folder for each of the software packages they had. Each program had a desktop shortcut to open RunTime with the program as a parameter. Never had a conflict, or issue.
Like I said, I simply installed it into a folder that I had created.Can you control the folder where the Runtime is stored?
This is what you need to understand. When you have multiple versions of Access installed, they fight over the registry and who has control over which file extensions. Therefore, to be certain that each application is run using your intended version of Access, you must open Access first, then run the app. To make that happen, you use a shortcut that runs Access (from wherever) and passes the name of your app as an argument. The /Runtime argument doesn't do what you seem to think it does.This doesn't change the version of Access that runs the program. What it does is it tells whatever version of Access that Windows has associated with the .accde to open the database and PRETEND to be the Runtime engine. So you could have A2013 or O365 in control of the .accde - no way to tell. You need to look at the Windows file associations in order to determine what Application Windows will run in this scenario.