Problemen met implementatie van Office-oplossingen oplossen
Van toepassing op: Visual Studio
In dit artikel wordt uitgelegd hoe u veelvoorkomende problemen kunt oplossen die kunnen optreden wanneer u Office-oplossingen implementeert.
De informatie in dit artikel is van toepassing op projecten op documentniveau en Visual Studio Tools for Office (VSTO)-invoegtoepassingsprojecten. Zie Functies die beschikbaar zijn per Office-toepassing en projecttype.
Problemen met Office-oplossingen oplossen met behulp van logboeken
U kunt de logboeken in Windows gebruiken om foutberichten te zien die zijn vastgelegd door de Visual Studio Tools voor Office-runtime wanneer u Office-oplossingen installeert of verwijdert. U kunt deze berichten uit de gebeurtenislogboekregistratie gebruiken om installatie- en implementatieproblemen op te lossen. Zie Gebeurtenislogboekregistratie voor Office-oplossingen voor meer informatie.
De naam van de assembly wijzigen veroorzaakt conflicten
Als u de waarde assemblynaam wijzigt op de pagina Toepassing van de Project-Designer nadat u al een oplossing hebt geïmplementeerd, wordt het installatiepakket gewijzigd in één Setup.exe bestand en twee implementatiemanifesten. Als u twee manifestbestanden implementeert, kunnen de volgende voorwaarden optreden:
- Als de eindgebruiker beide versies installeert, laadt de toepassing beide VSTO-invoegtoepassingen.
- Als de VSTO-invoegtoepassing is geïnstalleerd voordat de assemblynaam werd gewijzigd, ontvangt de eindgebruiker nooit updates.
U kunt deze voorwaarden voorkomen door de waarde assemblynaam van de oplossing niet te wijzigen nadat u de oplossing hebt geïmplementeerd.
Controleren op updates duurt lang
Visual Studio 2010 Tools voor Office runtime biedt een registervermelding die beheerders kunnen gebruiken om de time-outwaarde in te stellen voor het downloaden van de manifesten en de oplossing.
De time-outwaarde instellen
Navigeer in het register naar de volgende sleutel:
HKEY_CURRENT_USER\Software\Microsoft\VSTA
Stel in de subsleutel AddInTimeout de time-outwaarde in milliseconden in.
Als de subsleutel AddInTimeout niet bestaat, maakt u deze als een DWORD.
Kan niet bijwerken of publiceren naar een netwerkbestandsshare
Office-oplossingen die zich op een netwerkbestandsshare bevinden, kunnen tijdens updates een misleidend bericht weergeven als het Setup.exe-bestand van de oplossing is vergrendeld in een proces terwijl de update wordt gepubliceerd. In het bericht staat mogelijk het volgende: 'Kan 'setup.exe' niet toevoegen aan het web. Het bestand 'setup.exe' bestaat al op dit web.
Om te voorkomen dat bestanden worden vergrendeld, kunt u de share alleen-lezen maken voor de eindgebruikers. Als documenten zich echter op de share bevinden, worden ze ook alleen-lezen voor de eindgebruikers.
Vereisten voor Microsoft Office zijn niet geïnstalleerd
U kunt de .NET Framework, de Runtime van Visual Studio Tools voor Office en de primaire Interoperabiliteitsassembly's van Office toevoegen aan uw Installatiepakket als vereisten die worden geïmplementeerd met uw Office-oplossing. Zie Een computer configureren voor het ontwikkelen van Office-oplossingen en Instructies: Primaire office-assembly's installeren voor meer informatie over het installeren van de primaire interop-assembly's.
Publiceren met behulp van Localhost kan installatieproblemen veroorzaken
Wanneer u gebruikt http://localhost
als publicatie- of installatielocatie voor oplossingen op documentniveau, converteert de wizard Publiceren de tekenreeks niet naar de echte computernaam. In dit geval moet de oplossing worden geïnstalleerd op de ontwikkelcomputer. Als u geïmplementeerde oplossingen IIS op de ontwikkelcomputer wilt laten gebruiken, gebruikt u de volledig gekwalificeerde naam voor alle HTTP/HTTPS/FTP-locaties in plaats van localhost.
Assembly's in cache worden geladen in plaats van bijgewerkte assembly's
Fusion, het .NET Framework assembly-loader, laadt de in de cache opgeslagen kopie van assembly's wanneer het projectuitvoerpad zich op een netwerkbestandsshare bevindt, de assembly is ondertekend met een sterke naam en de assemblyversie van de aanpassing niet verandert. Als u een assembly bijwerkt die aan deze voorwaarden voldoet, wordt de update niet weergegeven wanneer u het project de volgende keer uitvoert, omdat de kopie in de cache wordt geladen.
U kunt Visual Studio zo configureren dat Fusion assembly's downloadt telkens wanneer het project wordt uitgevoerd.
Assembly's downloaden in plaats van kopieën in de cache te laden
- Selecteer project, <projectnaameigenschappen> op de menubalk.
- Selecteer assembly-informatie op de pagina Toepassing.
- Stel het revisienummer, derde veld, van de assemblyversie, in op een jokerteken (*). Bijvoorbeeld '1.0.*'. Selecteer vervolgens de knop OK .
Nadat u de assemblyversie hebt gewijzigd, kunt u uw assembly blijven ondertekenen met een sterke naam en wordt de meest recente versie van de aanpassing geladen.
Opmerking
Vanaf Visual Studio 2017 treedt er een buildfout op als u jokerkaarten probeert te gebruiken in de assemblyversie. Dit komt doordat jokerkaarten in de assemblyversie de MSBuild Deterministische functie verbreken. U krijgt de instructie om de jokertekens uit de assemblyversie te verwijderen of determinisme uit te schakelen. Voor meer informatie over de deterministische functie raadpleegt u: Algemene MSBuild-projecteigenschappen en Uw build aanpassen
Installatie mislukt wanneer de URI tekens bevat die niet US-ASCII zijn
Wanneer u een Office-oplossing publiceert op een HTTP/HTTPS/FTP-locatie, mag het pad geen Unicode-tekens bevatten die zich niet in US-ASCII bevinden. Dergelijke tekens kunnen inconsistent gedrag veroorzaken in het installatieprogramma. Gebruik US-ASCII-tekens voor het installatiepad.
De prompt om handmatig te verwijderen wordt weergegeven wanneer u een oplossing publiceert en installeert op de ontwikkelcomputer
Wanneer u een Office-oplossing bouwt, wordt de gebouwde versie automatisch geregistreerd. Als u dezelfde oplossing eerder op uw ontwikkelcomputer hebt gepubliceerd en geïnstalleerd, detecteert Visual Studio Tools voor Office runtime dat het installatiepad voor de gepubliceerde versie en de gebouwde versie verschillen nadat de oplossing de volgende is gebouwd, opnieuw is opgebouwd of gepubliceerd. Het foutbericht geeft aan dat de aanpassing niet kan worden geïnstalleerd omdat er momenteel een andere versie is geïnstalleerd en niet kan worden bijgewerkt vanaf deze locatie. De registersleutels worden bijgewerkt wanneer een oplossing opnieuw wordt opgebouwd. Daarom moet u de vorige versie verwijderen voordat u de nieuwe versie publiceert, fouten opspoort of uitvoert.
Als u wilt voorkomen dat het bericht wordt weergegeven, maakt u een ander gebruikersaccount op uw ontwikkelcomputer om uw implementatie te testen. Als alternatief kunt u de versie verwijderen uit de lijst met geïnstalleerde programma's op de computer voordat u de volgende publicatie, foutopsporing of herbouwing van de oplossing.
Niet-beladen uitzondering of methode niet gevonden fout wanneer u een oplossing installeert
Wanneer u Office-oplossingen installeert door het implementatiemanifest (een .vsto-bestand ), Office-toepassing, -document of -werkmap te openen, worden er mogelijk foutberichten weergegeven voor de volgende voorwaarden:
- De methode is niet gevonden.
- MissingMethodException.
- Niet-beladen uitzondering.
Als u deze foutberichten wilt voorkomen, installeert u de oplossing door het installatieprogramma uit te voeren.
Wanneer u de oplossing installeert zonder het Installatieprogramma uit te voeren, controleert het installatieprogramma niet op vereisten of installeert het niet. Het installatieprogramma controleert op de juiste versie van de vereisten en installeert deze indien nodig.
Manifestregistersleutels voor invoegtoepassingen wijzigen nadat een InstallShield Limited Edition-project is gebouwd
De manifestregistersleutel die deel uitmaakt van een installatieprogramma van een VSTO-invoegtoepassing verandert soms van .vsto in .dll.manifest wanneer u een InstallShield Limited Edition-project maakt.
U kunt dit probleem omzeilen door het project InstallShield Limited Edition in een andere oplossing te maken of CompanyName.AddinName te gebruiken als de waarde van de registersleutel die de naam van de VSTO-invoegtoepassing bevat.
Het ClickOnce-installatieprogramma voor uw Office-oplossing installeert de primaire interop-assembly's niet
Wanneer u het installatieprogramma uitvoert dat ClickOnce maakt voor uw Office-oplossing, wordt het installatieprogramma voor de primaire interoperabiliteitsassembly's (PIA's) van Office alleen uitgevoerd als er nog geen PIA's zijn geïnstalleerd.
Als het installatieprogramma de PIA's niet correct installeert, installeert u ze handmatig door het installatiebestand met de naam o2007pia.msi uit de installatiemap uit te voeren.
Office-oplossingen opnieuw installeren veroorzaakt een argument buiten het bereik uitzondering
Wanneer u een Office-oplossing opnieuw installeert, kan er een ArgumentOutOfRangeException uitzondering worden weergegeven met het volgende foutbericht: Opgegeven argument ligt buiten het bereik van geldige waarden.
Deze situatie treedt op als de casing voor de URL voor de installatielocatie anders is. Deze fout wordt bijvoorbeeld weergegeven als u de eerste keer een Office-oplossing http://fabrikam.com/ExcelSolution.vsto
hebt geïnstalleerd en vervolgens de tweede keer hebt gebruikt http://fabrikam.com/excelsolution.vsto
.
Als u wilt voorkomen dat het bericht wordt weergegeven, gebruikt u dezelfde behuizing wanneer u Office-oplossingen installeert.
Kan geen ClickOnce-oplossing installeren door het implementatiemanifest vanaf het web te openen
Gebruikers kunnen Office-oplossingen installeren door het implementatiemanifest vanaf internet te openen. Sommige installaties van IIS (Internet Information Services) blokkeren echter de bestandsextensie .vsto . U moet het MIME-type in IIS definiëren voordat u het gebruikt om een Office-oplossing te implementeren.
Zie Een MIME-type (IIS7) toevoegen voor meer informatie over het definiëren van het MIME-type in IIS 7.
Stel de extensie in op .vsto en het MIME-type op application/x-ms-vsto.