1. Systemkrav för installation av .NET Framework 3.0
2. .NET Framework 3.0: Kända installationsproblem
3. Felsökningssteg för hämtningsfel
4. Kända problem med Windows Communication Foundation
5. Kända problem med Windows Workflow Foundation 6. Kända problem med Windows Presentation Foundation
Processor | Minimikrav:
Rekommendation:
|
Operativsystem | .NET Framework 3.0 kan installeras på följande system:
*Windows Vista levereras med .NET Framework 3.0. Inget separat installationspaket behövs. Paket med den fristående versionen av .NET Framework 3.0 stöds inte på Vista. |
RAM-minne | Minimikrav:
Rekommendation:
|
Hårddisk | Upp till 500 MB ledigt diskutrymme kan krävas. |
CD- eller DVD-enhet | Krävs inte. |
Bildskärm | Minimikrav:
Rekommendation:
|
Mus | Krävs inte |
När du startar installationsprogrammet för .NET Framework 3.0 är standardinstallationsplatsen på systemenheten, d.v.s. den enhet som systemet startas från. Kontrollera att det finns tillräckligt med ledigt diskutrymme (upp till 500 MB kan behövas) på systemenheten.
Ibland fungerar det inte att hämta och installera .NET Framework 3.0.
Så här löser du problemet
Kör dotnetfx3setup.exe från webbplatsen igen och försök hämta filerna på nytt. Klicka här om du vill ha mer felsökningsinformation om hämtningsfel.
– eller –
Installera hela distribueringspaketet dotnetfx3.exe (x86) eller dotnetfx3_x64.exe (x64). Dessa paket finns på hämtningsplatsen för .NET Framework 3.0.
Om datorn måste startas om under installationen och antivirusprogrammet har konfigurerats så att mappen för tillfälliga filer töms när datorn startas tas nödvändiga installationsfiler bort. Installationsprogrammet kan inte slutföras (ett felmeddelande om att programmet inte hittades visas).
Så här löser du problemet
Innan du kör installationen av .NET Framework 3.0 ändrar du konfigurationen för antivirusprogrammet så att mappen för tillfälliga filer inte töms när datorn startas (eller startas om). Information om hur du gör detta finns i dokumentationen för antivirusprogrammet.
Om andra processer (t.ex. virussökning) körs på datorn när du startar underhållsläget kan installationen gå mycket långsamt så att det verkar som att ett fel har uppstått i installationsprogrammet.
Så här löser du problemet
Fortsätt vänta. Det finns inget sätt att ta sig runt det här problemet. Det är inget fel på installationsprogrammet.
När du installerar .NET Framework 3.0 kan du uppmanas att avinstallera Windows Workflow Foundation, men det finns ingen post för Windows Workflow Foundation under Lägg till och ta bort program, och produkten kan därför inte avinstalleras.
Så här löser du problemet
Kör avinstallationsverktyget på: http://www.microsoft.com/downloads/details.aspx?FamilyId=AAE7FC63-D405-4E13-909F-E85AA9E66146
Om du använder Windows XP SP2 eller Windows 2003 SP1 och har en installerad lokaliserad version av MSXML6 skrivs den lokaliserade versionen av MSXML6 över med den engelska versionen när du installerar .NET Framework 3.0.
Så här löser du problemet
Installera om den lokaliserade versionen av MSXML6 när du har installerat .NET Framework 3.0 .
Windows Vista levereras med .NET Framework 3.0. Inget separat installationspaket behövs. Paket med den fristående versionen av .NET Framework 3.0 stöds inte på Vista.
I det här avsnittet beskrivs problem som kan uppstå om du tidigare har installerat en förhandsversion (CTP eller Beta) av .NET Framework 3.0 och vill ta bort denna version för att uppgradera till RTM-versionen.
Kör avinstallationsverktyget
Avinstallationsverktyget för .NET Framework 3.0 är tillgängligt på http://www.microsoft.com/downloads/details.aspx?FamilyId=AAE7FC63-D405-4E13-909F-E85AA9E66146. Det här verktyget löser flera avinstallationsproblem och är en lämplig första åtgärd när du försöker lösa problem med en av-/ominstallation. Detaljerad information om hur du använder verktyget finns på hämtningssidan.
Om du inte kan köra verktyget eller om problemet kvarstår när du har kört det läser du avsnittet Kända problem och lösningar nedan.
Obs! De här installationsproblemen uppstår bara om du har installerat en tidig förhandsversion av .NET Framework 3.0 på systemet innan du installerar RTM-versionen. Problemen har åtgärdats i senare förhandsversioner av .NET Framework 3.0.
Kända problem och lösningar
2.7.1 Microsoft Digital Identity Service (idsvc) tas inte bort vid avinstallation
När du avinstallerar en del förhandsversioner av .NET Framework 3.0 tas inte alla skapade tjänster bort korrekt. Om en sådan tjänst finns på systemet går det inte att installera .NET Framework 3.0. Installationen misslyckas och följande fel visas:
ERROR_INSTALL_FAILURE 1603 Ett allvarligt fel inträffade under installationen
Dessutom visas följande information i en loggfil (%temp%\dd_wcf_retCA*.txt):
ServiceModelReg [15:48:08:041]: Installerar: Microsoft Digital Identity Service (idsvc)
ServiceModelReg [15:48:08:073]: Fel: System.ComponentModel.Win32Exception: Namnet används redan som ett tjänstnamn eller som visningsnamn för en tjänst
Så här löser du problemet
Kör avinstallationsverktyget på: http://www.microsoft.com/downloads/details.aspx?FamilyId=AAE7FC63-D405-4E13-909F-E85AA9E66146
Om problemet kvarstår:
Öppna Kommandotolken.
2.7.2 En del registernycklar för prestandaräknaren för WCF tas inte bort vid avinstallation av vissa förhandsversioner av .NET Framework 3.0
När du avinstallerar vissa förhandsversioner av .NET Framework 3.0 tas inte alla registernycklar för prestandaräknare bort. Om dessa nycklar finns kvar går det inte att installera .NET Framework 3.0. Installationen misslyckas och följande fel visas:
ERROR_INSTALL_FAILURE 1603 Ett allvarligt fel inträffade under installationen
Följande nycklar kan finnas kvar i registret efter avinstallationen:
• HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC Bridge 3.0.0.0\Performance
• HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceModelEndpoint 3.0.0.0\Performance
• HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceModelOperation 3.0.0.0\Performance
• HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceModelService 3.0.0.0\Performance
• HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SMSvcHost 3.0.0.0\Performance
Så här löser du problemet
Kör avinstallationsverktyget på: http://www.microsoft.com/downloads/details.aspx?FamilyId=AAE7FC63-D405-4E13-909F-E85AA9E66146
Om problemet kvarstår:
1. Försök med att starta om datorn. Många problem kan innebära att prestandaräknarna blir instabila. Om du startar om kan en del av dessa problem åtgärdas. En omstart är säkrare än att du redigerar registret manuellt.
2. Om problemet fortfarande kvarstår:
a. Kontrollera följande registernycklar. Ta bort de överordnade registernycklarna för följande nycklar om de inte har några värden eller om deras värden innehåller ”Wbem*”:
• HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC Bridge 3.0.0.0\Performance
• HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceModelEndpoint 3.0.0.0\Performance
• HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceModelOperation 3.0.0.0\Performance
• HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceModelService 3.0.0.0\Performance
• HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SMSvcHost 3.0.0.0\Performance
b. Exempel: Om den här nyckeln inte har något värde:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceModelEndpoint 3.0.0.0\Performance
ska du ta bort:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceModelEndpoint 3.0.0.0”
2.7.3 Föråldrade machine.config-poster med referenser till 2.0.0.0-versioner av .NET Framework 3.0-sammansättningar blockerar installationen
När du avinstallerar vissa förhandsversioner av .NET Framework 3.0 tas inte alla machine.config-poster bort. Om det finns poster som innehåller referenser till version 2.0.0.0 av System.ServiceModel.dll i machine.config-filen går det inte att installera .NET Framework 3.0. Installationen misslyckas och följande fel visas:
“ERROR_INSTALL_FAILURE 1603 Ett allvarligt fel inträffade under installationen”
Dessutom sker följande:
1. En felhändelse om problem vid körning av ServiceModelReg.exe visas i programmets händelselogg.
2. Installationsloggfilen dd_wcf_retCA* i användarens tillfälliga katalog innehåller en post om problem med körning av ServiceModelReg.exe.
3. Händelseloggposten eller installationsloggposten kan visas med ett undantagsfel som ser ut ungefär så här (tidsstämpeln är bara ett exempel):
ServiceModelReg [16:21:10:656]: Fel: System.IO.FileLoadException: Det gick inte att läsa in filen eller sammansättningen 'System.ServiceModel, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' eller ett av dess beroenden. Manifestdefinitionen för sammansättningen matchar inte sammansättningsreferensen. (Undantag från HRESULT: 0x80131040)
Så här löser du problemet
Ta bort de föråldrade machine.config-posterna manuellt:
1. Öppna Kommandotolken och kör följande kommando: ”notepad %windir%\microsoft.net\framework\v2.0.50727\config\machine.config”
2. Ta bort alla XML-noder och underordnade noder som innehåller referenser till System.ServiceModel.dll.
3. Om du använder en 64-bitarsdator och följande config-fil finns:
“%windir%\Microsoft.NET\Framework64\v2.0.50727\config\machine.config”
kan du redigera filen och ta bort alla XML-noder och underordnade noder som innehåller referenser till System.ServiceModel.dll.
2.7.4 WCF-tjänster med IIS som webbvärd kanske inte fungerar om en tidigare version än RC1 av WCF har varit installerad
Om du har installerat en tidigare version av .NET Framework 3.0 när IIS var installerat och sedan uppgraderar till RTM-versionen av .NET Framework 3.0 kan det vara svårt att komma åt WCF-tjänster med IIS som värd med hjälp av SVC-filer. Om du öppnar en SVC-fil från webbläsaren på datorer med Windows Server 2003 kan felet ”404: Sidan kunde inte hittas” visas. På datorer med Windows XP kan SVC-innehållet visas som vanlig text.
Detta beror på ett problem med registreringar av WCF-skriptmappningar i en tidigare version.
Så här löser du problemet
Det finns tre möjliga sätt att lösa problemet:
1. Hämta verktyget som inte stöds (CleanIISScriptMaps.exe) från http://wcf.netfx3.com/files/folders/product_team/entry5648.aspx. Kör verktyget från en kommandokonsol utan argument.
2. Avinstallera och installera om IIS eller skapa dina webbplatser på nytt:
a. Avinstallera IIS och installera om det så att IIS-metabasen uppdateras. Kör sedan WCF-installationsverktyget manuellt för att registrera om WCF-skriptmappningarna:
“%windir%\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModelReg.exe” /r /y
b. Om du använder Windows 2003 Server kan du försöka lösa problemet genom att ta bort standardwebbplatsen och skapa den på nytt.
3. Installera SVC-filen manuellt som en tillfällig lösning:
a. Du kan köra följande kommando om du vill installera SVC-mappning manuellt. Detta innebär dock att IIS-metabasen för befintliga platser uppdateras.
"%windir%\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModelReg.exe" /s:W3SVC
2.7.5 Om IIS-metabasen är skadad går det inte att installera .NET Framework 3.0
Om du har installerat en tidigare version av .NET Framework 3.0 när IIS var installerat kan IIS-metabasen ha skadats. Detta kan innebära att det inte går att installera .NET Framework 3.0.
Du kan identifiera problemet på något av följande sätt:
1. Installationen misslyckas och följande fel visas:
“ERROR_INSTALL_FAILURE 1603 Ett allvarligt fel inträffade under installationen”
2. En felhändelse om fel vid registrering av WCF-skriptmappningar visas i programmets händelselogg. Källan för händelsen är System.ServiceModel.Install.dll 3.0.0.0.
3. I installationsloggarna i den tillfälliga katalogen (%temp%) visas också referenser till ett fel vid registrering av WCF-skriptmappningar.
4. Händelseloggen eller installationsloggen kan innehålla följande stackspårning för undantag:
System.ApplicationException: ServiceModelReg.exe har identifierat en eventuell skada i IIS-metabasen som innebär att IIS-IIS-skriptmappningarna för ServiceModel inte kan registreras. Åtgärda skadan på IIS-metabasen eller (om du inte vill använda WebHost-funktionen för Service Model) inaktivera tjänsten IISAdmin och registrera ServiceModel på nytt.
Så här löser du problemet
1. Avinstallera IIS.
2. Installera om IIS.
3. Kör installationsprogrammet för .NET Framework 3.0 igen.
Det här felet uppstår när tjänsten BITS är inaktiverad, inte finns, har tagits bort från tjänstprogrammet, har stoppats under pågående hämtning, om det har uppstått fel i en tjänst som BITS är beroende av eller om en sådan tjänst har tagits bort. Felmeddelandet för det här problemet är "Tjänsten BITS måste aktiveras innan du startar installationsprocessen. Aktivera tjänsten BITS och kör installationsprogrammet igen."
Så här löser du problemet
services.msc
i dialogrutan Kör och klicka på OK.Obs! Om Background Intelligent Transfer Service (BITS) inte visas i listan är tjänsten inte installerad på datorn. Du kan hämta och installera BITS från http://www.microsoft.com/downloads/details.aspx?FamilyId=B93356B1-BA43-480F-983D-EB19368F9047&displaylang=en.
Om problemet kvarstår när du har utfört ovanstående kan du behöva aktivera en eller flera tjänster som BITS är beroende av.
Så här aktiverar du beroenden
De här felen uppstår när BITS-gränssnitt inte har registrerats eller om registerinställningarna är skadade.
Så här löser du problemet
Uppgradera till BITS 2.0 från http://www.microsoft.com/downloads/details.aspx?FamilyId=B93356B1-BA43-480F-983D-EB19368F9047&displaylang=en.
– eller –
Reparera tjänsten BITS genom att köra verktyget bitsadmin från Kommandotolken:
Bitsadmin /util /repairservice /force
Du kan hämta verktyget Bitsadmin från http://www.microsoft.com/downloads/details.aspx?amp;displaylang=en&familyid=49AE8576-9BB9-4126-9761-BA8011FABF38&displaylang=en.
De här felen kan uppstå på grund av någon eller några av följande orsaker:
Så här löser du problemet
Ange korrekta inställningar för proxyservern och kontrollera att datorn kan matcha proxyservern.
– eller –
Uppgradera till BITS 2.0. Du kan hämta BITS 2.0 från
http://www.microsoft.com/downloads/details.aspx?amp;displaylang=en&familyid=49AE8576-9BB9-4126-9761-BA8011FABF38&displaylang=en.
Obs! Om du vill åtgärda de här felen avslutar du installationsprogrammet, kontrollerar att datorn är ansluten till nätverket och startar installationsprogrammet igen.
De här felen uppstår när en fil inte har kunnat skapas, eller skrivas till, med tjänsten BITS. Ett annat program, t.ex. chkdsk.exe, kanske körs och kan ha låst disken så att det inte går att skriva till filen med BITS.
Så här löser du problemet
Kontrollera att inget annat program (t.ex. chkdsk.exe) som kan låsa disken körs och försök igen.
– eller –
Starta om datorn och starta installationsprogrammet igen. Kontrollera att datorn är ansluten till Internet.
Tjänsten BITS kan ha misslyckats på grund av något av följande proxyrelaterade fel:
Så här löser du problemet
Ange korrekt autentiseringsinformation för proxyservern och starta installationsprogrammet igen.
– eller –
Uppgradera proxyservern så att HTTP 1.1 stöds och kontrollera att implicita autentiseringsuppgifter (t.ex. NTLM) stöds av proxyservern. Du kan behöva kontakta nätverksadministratören.
– eller –
Kringgå proxyservern genom att ändra proxyinställningarna i Internet Explorer.
Så här kringgår du en proxyserver:
Om du behöver mer hjälp med proxyinställningarna kontaktar du nätverksadministratören.
Tjänsten BITS körs inte i följande lägen:
Så här löser du problemet
Det finns inget sätt att ta sig runt det här problemet. De här scenarierna stöds inte.
4.10 Undantagsfel när en TCP-tjänst och TCP MEX körs på samma port
När portdelning är aktiverat och du konfigurerar en TCP-tjänst och en TCP MEX-slutpunkt för samma port uppstår ett AddressAlreadyInUse-undantag när du startar tjänsten.
Det finns två möjliga sätt att lösa problemet:
1. Ändra konfigurationen för TCP-tjänsten och/eller TCP MEX-slutpunkten så att de använder olika portar.
2. Aktivera portdelning för TcpTransportBindingElement för TCP MEX-slutpunkten. Koden nedan är en beskrivning av processen:
ServiceMetadataBehavior mexBehavior = new ServiceMetadataBehavior();
host.Description.Behaviors.Add(mexBehavior);
Binding mexBinding = MetadataExchangeBindings.CreateMexTcpBinding();
CustomBinding mexBinding2 = new CustomBinding(mexBinding);
mexBinding2.Elements.Find<TcpTransportBindingElement>().PortSharingEnabled = true;
host.AddServiceEndpoint(typeof(IMetadataExchange), mexBinding2, mexAddress);
4.11 Felmeddelanden som är större än 64 kB kan orsaka ProtocolException
När MaxBufferSize är minst Int.MaxValue – 1 024 byte (2147482623 byte) mottas ett ProtocolException i stället för ett FaultException på klienten om ett felmeddelande som är större än 64 kB skickas. För buffrade överföringar är MaxBufferSize samma som MaxReceivedMessageSize. Detta gäller bara tjänster där HTTP(S)-överföring används.
Du kringgår problemet genom att ändra värdet för MaxBufferSize (MaxReceivedMessageSize) till Int.MaxValue – 1 025 byte (2147482622 byte) eller ett mindre värde. Du kan också ange den önskade gränsen direkt för HttpWebRequest.DefaultMaximumErrorResponseLength. Om du anger ett värde för DefaultMaximumErrorResponseLength påverkar detta alla kanaler i samma programdomän.
4.12 EncryptBeforeSign och XmlSerializerFormatAttribute kan inte användas för samma kontrakt
Meddelandesäkerhet med skyddsordningen EncryptBeforeSign fungerar inte korrekt om XmlSerializerFormatAttribute används för kontraktet. Om båda används skapas meddelanden med ogiltigt innehåll i WCF efter dekrypteringen – ytterligare en <?xml ..>-bearbetningsinstruktion genereras före det första innehållselementet.
Undvik problemet genom att inte använda EncryptBeforeSign med XmlSerializerFormatAttribute för samma kontrakt.
4.13 AppDomain kan inte vara värd för WS-ReliableMessaging-kanaler med olika versioner av WS-Addressing
En AppDomain kan inte vara värd för WS-ReliableMessaging-kanaler som använder olika versioner av WS-Addressing. Om detta sker anges versionen för åtgärdshuvuden för WS-Addressing för alla efterföljande protokollmeddelanden av den första aktiva kanalen, även om de efterföljande meddelandena skickas av en kanal som har konfigurerats för en annan version av adressprotokollet.
Om du vill att ett program eller en tjänst ska skapa WS-ReliableMessaging-kanaler med olika versioner av WS-Addressing använder du en separat AppDomain för varje program/tjänst. När en WCF-tjänst används på webben måste du använda två virtuella kataloger – en för tjänster med WS-Addressing 1.0-slutpunkter och en för WS-Addressing August 2004-slutpunkter.
<system.webServer>
<modules>
<add name="WorkflowHost" type="System.Workflow.Runtime.Hosting.WorkflowWebHostingModule, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="runtimeVersionv2.0" />
</modules>
</system.webServer> |
Det går inte att lägga till en ExternalDataExchangeService-tjänst i flera WorkflowRuntime-instanser. När en ny WorkflowRuntime-instans skapas måste en ny ExternalDataExchangeService-tjänst skapas och alla lokala kommunikationstjänster måste läggas till i ExternalDataExchangeService-tjänsten på nytt.
Om du skapar en anpassad sammansatt aktivitet med en underordnad aktivitet som implementerar ICompensatable samt en CompensateActivity-aktivitet som kompenserar den sammansatta aktiviteten, men inte uttryckligen kompenserar den underordnade aktiviteten, fungerar inte kompensationen och undantagsfel uppstår. Detta gäller om den anpassade aktiviteten har placerats i ett arbetsflöde.
Du undviker det här problemet genom att kapsla in alla underordnade aktiviteter för den anpassade aktiviteten i en CompensatableSequenceActivity-aktivitet och implementera kompensation för CompensatableSequenceActivity-aktiviteten.
Om en lösning innehåller flera projekt måste projektkatalogerna ligga på samma nivå. Om du ändrar projektstrukturen så att roten för ett projekt ligger under katalogen för ett annat projekt kan oväntade kodkompileringsfel (om att det inte går att hitta en typ i en DLL som det finns referenser till från ett av de beroende projekten) uppstå under återskapandet.
Så här löser du problemet: