windows - Kontroller, om brugeren har den korrekte version af Access-sæt som standard

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har oprettet access front ACCDR fra Access 2016. For at brugere kan bruge denne fil, skal brugere installere Access runtime 2016.


De fleste af mine brugere har allerede installeret MS Office 2007 eller 2010. Så når brugerne forsøger at åbne ACCRD-filen, efter at have installeret Access runtime 2016. De får stadig en fejl, da de åbner filen ved hjælp af den ældre version af Access (aka 2010) og ikke 2016-versionen.


Mit spørgsmål:


Sådan kontrolleres, om brugeren har den korrekte version af Access-indstillingen som standard? Jeg har det fint med at betale for en software, der kontrollerer dette. Jeg har også det fint med at redigere registreringsdatabasen, hvis der er nogen eller importerende registreringsdatabasen.


[[ACCDR-filer oprettes ved at omdøbe ACCDE (Access compiled files)]].

Bedste reference


Du kan læse versionen direkte:


Version = Application.Version


Skal returnere '16.0'. Hvis ikke, pop en besked til brugeren for at åbne ved hjælp af Access 2016.


Endnu bedre, angiv en genvej for brugeren at åbne din app med runtime.

Andre referencer 1


Bedste tilgang ville være at forespørge COM lige efter at du har lanceret processen og handle i overensstemmelse hermed.


Hvis du ikke har en adgangsproces, der allerede kører, skal du bare starte en, spørge det og gøre dine ting i den proces, du lige har påberåbt.


   Microsoft.Office.Interop.Access.Application \_accessApp = new Microsoft.Office.Interop.Access.Application();
   string version = \_accessApp.Version;       


Match versionstrengen mod Microsofts versionshistorik:
https://en.wikipedia.org/wiki/History\_of\_Microsoft\_Office[4]


til kontor 2016, strengen du søger er 16.0





En anden tilgang er at kontrollere kontorets GUID via registreringsdatabasen
og sammenligne det med et kendt kontorråd (de er ikke tilfældige).


https://superuser.com/questions/1140114/how-to-detect-microsoft-office-version-name[5]