Tuesday, April 19, 2011

This collection already contains an address with scheme http. There can be at most one address per scheme in this collection

I entwickle zurzeit eine mobile Anwendung für mein WP7, damit ich die Abwesenheit und die Noten meiner Schüler immer parat habe.

So habe ich einen WCF-Service für Silverlight geschrieben und auf meine Website hochgeladen. Als ich die Service-Definition aufrufen wollte, bekam ich einen Fehler vom Webserver:

“This collection already contains an address with scheme http. There can be at most one address per scheme in this collection”

Lokal habe ich IIS 7.5 mit ASP.Net 4.0 als Webserver und VS2010 als Entwicklungsumgebung. Der Webserver meiner Website hingegen hat ASP.Net 3.5 im Einsatz. Nach einer Recherche im Internet bin ich auf unteren Artikel gelandet:

http://blogs.msdn.com/b/rampo/archive/2008/02/11/how-can-wcf-support-multiple-iis-binding-specified-per-site.aspx

Also habe ich folgende Änderung vorgenommen:

In der web.config habe ich einen Filter für das Präfix der Base-Adresse definiert:

  1: <system.serviceModel>
  2: 
  3: <serviceHostingEnvironment>
  4: 
  5: <baseAddressPrefixFilters>
  6:  
  7:         <add prefix=”http://www.birsoft.biz/>
  8: 
  9: </baseAddressPrefixFilters>
 10:  
 11: </serviceHostingEnvironment>
 12:  
 13: </system.serviceModel>
 14: 

 



Jetzt funktionert mein WCF-Service.



Stay tuned!

Sunday, April 3, 2011

A fatal error occured while trying to sysprep the machine

Als ich mein vorinstalliertes System mit Sysprep generalisieren wollte, trat folgender Fehler auf:

“A fatal error occured while trying to sysprep the machine”

Nachdem ich die Log-Datei unter dem “Panther” Folder gelesen habe, habe ich festgestellt, dass drmv2ctl.dll das Problem verursachte.

2011-04-03 11:56:12, Error      [0x0f0082] SYSPRP LaunchDll:Failure occurred while executing 'drmv2clt.dll,Sysprep', returned error code -2147024864[gle=0x00000020]

Die ist eine DLL-Datei, die von dem Prozess “wmpnetwk.exe” referenziert und vom Digital Right Management zuständig ist. Ich habe diesen Prozess gekillt und den Sysprep nochmal ausgeführt. Lief einwandfrei.

Friday, April 1, 2011

Virtual PC und “No Internet Access”

Wie ich in meinem letzten Post erwähnt habe, verwende ich die Virtualisierungslösung von Microsoft.

Nachdem ich das Betriebsystem installiert habe, habe ich gemerkt, dass meine VM keinen Internetzugang hatte, obwohl eine Shared Network - NAT (network address translation) eingestellt und der Network Service für Virtual PC auch aktivgeschaltet war.

image

image

Nach der Suche in MSDN habe ich gelesen, dass der virtuelle Gateway beim Shared-Network 192.168.131.254 ist. Diese Adresse habe ich für meinen virtuellen Netzwerkadapter verwendet und jetzt habe ich Internetzugang.

image

Clonen von vhd (Virtual PC)

Ich habe letzte Woche einen neuen Rechner gekauft und drauf Windows 7 Enterprise installiert. Da mein Setup fast drei Tage dauert, entschiede ich für die Virtualisierung und das Duplizieren der virtuellen Festplatten, damit ich im Notfall immer eine Installation parat habe.

Virtual PC ist für Windows Host- und Gastsysteme sehr geeignet. Wenn eine Linux-Installation der Fall wäre würde ich von Oracle den VirtualBox nehmen.

Ich habe Virtual PC runtergeladen und installiert. Dann eine neue virtuelle Maschine angelegt. Darauf habe ich meine Entwicklungsumgebung installiert. So habe eine Basis-Installation mit benötigten software (Windows 7 Ent. SP1, VS2010, MSSQL Server, etc.). Diese Installation kann ich dann mit Sysprep generalisieren, d.h. die Intallationsspezifische Daten entfernen, und einfach für jede virtuelle Maschine anpassen. Nach der Installation von diversen Software lasse ich sysprep mit folgenden Parameter laufen

%WINDIR%\system32\sysprep  /oobe /generalize

/generalize entfernt die Installationsspezifische Daten, z.B. SID, Activation Key, event logs, etc.

/oobe bereitet bei dem nächten Hochfahren das Windows Welcome vor. Dadurch muss ich nicht das ganze System neu installieren, sondern nur die Daten anpassen, die für diese Installation benötigt werden.

Nach diesem Kommando fährt der Rechner herunter. Dann kann ich die vhd-Datein duplizieren. Jede Festplatte ist für sich eine eigene Windows-Installation und dauert nur einige Minuten, bis ich ein laufendes System mit allen Programmen habe.