Visual Studio cant find Office

Vor kurzem habe ich begonnen, ein Excel-Web-Add-In zu entwickeln. Als ich das Projekt zum ersten Mal in Visual Studio erstellte und versuchte, es auszuführen, bestand Visual Studio darauf, dass die mit diesem Projekttyp verbundene Anwendung nicht auf diesem Computer installiert ist. Jetzt weiß ich, dass das nicht stimmt, da ich es ja selbst installiert habe. Ich dachte, dass es vielleicht daran liegt, dass meine Office-Version nicht korrekt ist, oder vielleicht läuft es nicht auf Englisch, was Visual Studio durcheinander bringt. Bei der Suche fand ich diese Frage auf Microsoft Q&A, in der die gleiche Frage gestellt wird, aber der Benutzer ging noch einen Schritt weiter und analysierte die Dateisystemaktionen von Visual Studio mit Process Monitor von Sysinternals – ein Schritt, den ich in der Regel auch in meiner Verzweiflung mache –
und zeigte den Zugriff auf einen seltsamen Pfad an:

C:\Benutzer\Benutzer\AppData\Local\Microsoft\WindowsApps\Microsoft.Office.Desktop_8wekyb3d8bbwe\excel.exe

Ich habe es auch ausprobiert, und bei mir war es dasselbe, basierend auf dem, was der Benutzer mitgeteilt hat, aber ich habe auch festgestellt, dass Visual Studio zuerst nach dem Pfad sucht. Der Ordner existierte zwar auch bei mir, war aber leer. Woran liegt das? Wenn Sie nur an einer Antwort interessiert sind, dann gehen Sie zu der Antwort, die ich auf die Frage gebe, oder lesen Sie die Schlussfolgerung dieser Seite. Wenn Sie wissen wollen, wie ich mein Handeln begründet habe, können Sie
in diesem Artikel nachlesen, was ich über dieses Thema weiß.

Kurze Geschichte von Known Path in Windows

Ein wichtiger Aspekt eines Betriebssystems, vor allem heutzutage, ist die Möglichkeit, mehrere Benutzer in einer einzigen Installation unterzubringen, was seit den Anfängen der Computer ein wichtiger Aspekt ist, vor allem in Unternehmen. Wir wollen nicht, dass die Benutzer mit Dateien hantieren, die nicht ihre eigenen sind, insbesondere mit wichtigen Systemdateien.

Wir wollen, dass sie in der Lage sind, Anwendungen auszuführen, wir wollen nur nicht, dass sie einen Befehl wie format c: /y oder cat /dev/null > /dev/sda auszulösen, die beide Ihr Laufwerk löschen und im letzteren Fall sogar Ihre primäre Festplatte unbrauchbar machen würden. Um den Zugriff einzuschränken, können wir für Dateien und Ordner Zugriffsrechte festlegen, und um uns das Leben leichter zu machen, gruppiert das Betriebssystem bestimmte Dateien auf der Grundlage ihrer künftigen Verwendung, wobei es auch Ausnahmen einrichten kann, wenn das vorgesehene System nicht geeignet ist – was es in der Regel ist. Es gibt noch viel mehr, aber hier konzentriere ich mich ausschließlich auf die Struktur des Dateisystems. Vor den universellen Windows-Programmen gab es in Windows 1 bis 3.1 kein solches System, und Benutzer tauchten erst in Windows 3.11 auf. Tatsächlich war es nicht einmal ein eigenes Betriebssystem, bis Windows NT 3.5 oder die populärere Version Windows 95 und später Windows NT 4 aufkamen. Windows 3.11 führte die Netzwerkfunktionalität ein und war nur in der Lage, Benutzer für Netzwerkzwecke zu verwalten, hatte aber keine Auswirkungen auf die Benutzerisolierung.

Diese Versionen hatten auch keine große Ordnerstruktur und speicherten alles unter C:\Windows, mit Ausnahme der Anwendungen von Drittanbietern, die in einem eigenen Ordner im Stammverzeichnis von Laufwerk C: installiert wurden. Nun, C:\Windows war weiter aufgeteilt, aber es ist so lange her, dass ich Windows 3.11 benutzt habe, dass ich meiner Erinnerung nicht trauen kann.

Seit Windows 95 wurde zum Leidwesen aller Entwickler ein systemweiter Ordnerbaum eingeführt, mit verschiedenen bekannten Ordnerpositionen, aber für diesen Artikel konzentriere ich mich auf drei:

Custom Software Development

Das bringt mich zum Nachdenken. Könnten wir die Anwendung standardmäßig unter: C:\Users\user\AppData\Roaming\Programme installieren? Lokale Roaming-Anwendungsdaten „reisen mit Ihnen“, wenn Sie den PC innerhalb derselben Domäne wechseln, der Ihr Benutzername zugewiesen ist. Allerdings können Heimanwender dies nicht wirklich nutzen, und es wird von Windows auch nicht als bekannter Pfad erkannt.

Nach Universal Windows-Programmen

Mit Windows 8 und später Windows 10 wollte Microsoft „alles auf einmal“ sein und führte Universal Windows Programs (UWP) ein, um Programmierern das Leben zu erleichtern, indem sie ein einziges Programm schreiben und dieses Programm auf einer Liste von unterstützten Architekturen ausführen können. Die Programme werden jetzt als Anwendungspakete neu interpretiert, ähnlich wie bei Android oder iOS, und sind jetzt weiter vom System isoliert, so dass diese Anwendungen weniger wahrscheinlich Ihr System oder Ihre persönlichen Dateien beschädigen. Um dies zu ermöglichen, hat Microsoft neue Ordnersätze für diese Anwendungen eingeführt, auf die Sie meist nur begrenzt zugreifen können, auf die Sie aber unter normalen Umständen nicht einmal zugreifen möchten, da sie nur von den Anwendungen zum Funktionieren benötigt werden.

Custom Software Development

Ich fand es ganz nett, dass es in der Strukturierung von UWPs nahezu Parallelen zu klassischen Windows-Programmen gibt.

Zwischenruf: Python aus dem Microsoft Store

Interessanterweise habe ich unter meinem Ordner C:\Users\user\AppData\Local\Microsoft\WindowsApps eine python.exe-Datei gefunden, die ein symbolischer Link zu folgendem Pfad ist: c:\Programme\WindowsApps\Microsoft.DesktopAppInstaller_1.19.10173.0_x64__8wekyb3d8bbw\AppInstallerPythonRedirector.exe

Wenn Sie dies ausführen, öffnet sich die Microsoft Store-Seite für… interessanterweise nicht das neueste verfügbare Python. Bei der Installation der Python-App (auch der neuesten) wird der Link so geändert, dass stattdessen die installierte Python-Version ausgeführt wird. Ich bin mir nicht sicher, ob dies nur bei mir der Fall ist, aber es scheint, dass dies eine beabsichtigte Funktion des App-Installationsprogramms ist, das Teil von Windows ist. So oder so, es ist klasse! Es würde mich nicht überraschen, wenn dies auch die beabsichtigte Funktionsweise von Office wäre.

Microsoft Office Store-Anwendungen

Seit der Veröffentlichung von Windows 8 hat Microsoft versucht, seine Office-Suite in den Microsoft Store zu bringen, zunächst hauptsächlich für seine mobilen Nutzer. Mit Windows 10 wurde OneNote als Ersatz für die vorherige Sticky Notes-Anwendung und als Lückenfüller für jene Windows-Versionen angeboten, die Cortana nicht unterstützen konnten. Natürlich sind die Sticky Notes-Apps seitdem aufgrund der großen Nachfrage zurückgekehrt. Während die Desktop-Versionen nicht wirklich vollständig übergegangen zu sein scheinen, gab es noch eine Zeit, in der die Office-Apps mit eingeschränkter Schnittstelle für mobile Geräte auch für den Desktop verfügbar waren, die ich auch auf meinen PC heruntergeladen habe. Man kann diese Apps nicht mehr auf die Desktop-Version von Windows herunterladen, aber ich habe sie immer noch. Microsoft ist inzwischen dazu übergegangen, die Office-Suite über einen eigenen Kanal zu veröffentlichen, und hat die Seite des Microsoft Store so geändert, dass sie stattdessen zum Microsoft Office Marketplace führt, wo man sich für die Nutzung von Office anmelden kann. Da dieser widersprüchliche Pfad jedoch leer ist und ich immer noch die mobile Version der Office-Anwendungen habe, ist es durchaus möglich, dass dieser Ordner für die Desktop-Anwendung gedacht ist, die über den Microsoft Store vertrieben wird.

Schlussfolgerung

Bei dem Hin und Her, das sie in ihrer Entscheidung mit der Microsoft Office-Version gemacht haben, und der Betrachtung des in den Ordnern verwendeten Pfades ist es durchaus möglich, dass Visual Studio in Vorbereitung auf eine über den Microsoft Store installierte Office-Version damit begonnen hat, einen Pfad zu unterstützen, der seitdem aufgegeben wurde, falls er jemals verwendet wurde. Und da er sich im lokalen Anwendungsdatenpfad des Benutzers befindet, der zum Speichern von Konfigurationsdateien dient, muss er nicht entfernt werden, da eine Konfigurationsdatei oder ein leerer Ordner für sich genommen Ihren PC nicht beeinträchtigen wird. Da der Pfad jedoch existiert, die Anwendung jedoch nicht vorhanden ist, verwechselt Visual Studio das Vorhandensein des Pfads mit einer gültigen Office-Installation und versucht, eine Anwendung auszuführen, die nicht vorhanden ist. Ich habe Microsoft Office 365 installiert, und ein leerer Ordner ist in einem Programm, das funktioniert, keineswegs sinnvoll. Das Löschen wäre nur dann ein Problem, wenn das nächste Update den Ordner wiederherstellen würde, aber dann hätte ich ihn auf meinem anderen nagelneuen Laptop gefunden, was nicht der Fall war, also gehe ich hin und lösche den Ordner Microsoft.Office.Desktop_8wekyb3d8bbwe. Wenn ich das Projekt jetzt ausführe, wird Excel mit dem Add-on geöffnet.

Unter allen anderen Umständen wäre der idealste Weg, dieses Problem zu beheben, gewesen, zuerst Office zu deinstallieren, dann den Ordner zu löschen, dann Office neu zu installieren und dann zu prüfen, ob der Ordner wieder erscheint. Wenn dies der Fall ist, muss man ein Problemticket vor allem für Visual Studio, aber wahrscheinlich auch an das Office-Team senden.

Sie haben Fragen?

Unsere Experten aus allen Bereichen unterstützen Sie und stehen Ihnen bei allen Fragen mit Rat und Tat zur Seite.

Oder werfen Sie einen Blick auf unsere Referenzen.