Seit einiger Zeit habe ich Probleme mit dem Firefox Browser in der Version 3.6.6 gehabt. Egal welche Flash-Seite ich mir angesehen habe, meistens nach 1-2 Sekunden hing der Browser. Aufgrund des vorherrschenden Workloads, konnte ich mich bisher aber nicht dazu durchringen, der Sache auf den Grund zu gehen, und habe so lange mit dem IE weitergesurft.

Erst als Silverlight 4 ebenfalls Zicken gemacht hat, bin ich der Sache endlich nachgegangen. -Wer ähnliche Erfahrung machen musste, dem könnte der folgende Tipp vielleicht helfen.

Seit Firefox 3.6.4 werden Browser-Plugins in einen Plugin-Container (plugin-container.exe) ausgelagert ausgeführt. Dadurch kann es auch sein, dass man keine Debug-Punkte in der Silverlight 4 Anwendung mehr nutzen konnte, weil der Prozess (firefox.exe) nun falsch war. – Zumindest war es so bei mir.

Leider führen die Plugin-Container bei mir zu einem kompletten Stillstand des Browsers, an anderer Stelle wird ebenfalls von Performanceeinbußen berichtet.

Um sich von den Plugin-Containern zu trennen, ruft man die Konfigurationsseite des Firefox Browsers auf:

about:config 

Dort filtert man dann nach:

dom.ipc.plugins.enabled.*

und setzt dort die Konfigurationseigenschaften auf: false

image

Nach dem Neustart des Browsers sollten die Plugin-Container nicht länger genutzt werden. Die alte gewohnte Performance ist wieder da, und ich kann noch keinen Hänger verzeichnen.

Stichwörter:
  • Firefox hängt Flash
  • Firefox hängt Silverlight
  • Firefox 3.6.6 hängt Flash
  • Firefox 3.6.6 hängt Silverlight

 
Categories: Silverlight

silverlightHeute gab Scott Guthrie bekannt, dass die Silverlight 4 Tools for Visual Studio 2010 und  WCF RIA Services endlich zum Download bereit stehen. Im Gegensatz zu Silverlight 4 und dem Silverlight 4 SDK, welches kurz nach dem Release von Visual Studio 2010 herausgebracht wurde, musste man sich bei den Silverlight 4 Tools noch etwas gedulden. Bislang gab es nur eine RC2 Version der Tools.

In der finalen Version der Tools is Folgendes enthalten:

  • Silverlight 4 developer runtime 
  • Silverlight 4 SDK (software development kit)
  • Update for Visual Studio 2010 and Visual Web Developer Express 2010 (KB982218)
  • Silverlight 4 Tools for Visual Studio 2010
  • WCF RIA Services V1.0 for Silverlight 4
  • F# Runtime for Silverlight 4

Als wichtigen Punkt ist in dieser Liste sind die WCF RIA Services als finale Version hervorzuheben. Diese waren bislang nur als RC Verfügbar.

Vor der Installation wird dazu geraten, die RC Versionen der Pakete zu deinstallieren.

Download der Silverlight 4 Tools for VS2010


 
Categories: .NET | C# | Silverlight

Mit Silverlight 4 ist es relativ leicht möglich OOB-Anwendungen bzw. Silverlight 4 Businessanwendungen zu entwickeln. Die Installation ist dabei kinderleicht. Ein Rechtsklick auf die Silverlight 4 Anwendung genügt, und schon steht ein Kontextmenüeintrag zur Installation bereit. Danach erscheint ein Dialog den der User bestätigen muss, um die Anwendung zu Installieren. Im Dialog kann der User selbst wählen, ob er Die Anwendung als Desktop-Icon oder Startmenü-Eintrag oder beides installieren möchte.

Nach der Bestätigung zur Installation folgt weder ein weiterer Setupdialog noch irgendeine Form von Prozentbalken, die eine Installation vermuten lässt. Die Anwendung ist einfach innerhalb von Sekunden sofort einsatzbereit. – Installieren war noch nie leichter. So werden nützliche Silverlight 4 Anwendung schnell lokal und auch offline verfügbar gemacht.

Doch was, wenn eine neue Version der Anwendung im Netz erscheint?

Die Antwort liegt auf der Hand: Automatische Updates. Und das geht wie folgt:

Silverlight 4 kommt bereits mit einer vollwertigen Update-Routine, die nur noch aufgerufen werden will. Dies erledigt man z.B. beim Starten der Applikation.

Dazu brauchen wir in die App.xaml.cs nur folgenden Codeschnipsel einfügen:

  public App()
        {
            InitializeComponent();

            if (Application.Current.IsRunningOutOfBrowser)
                {
                    App.Current.CheckAndDownloadUpdateCompleted += 
                        new CheckAndDownloadUpdateCompletedEventHandler(CheckAndDownloadUpdateCompleted);
                    App.Current.CheckAndDownloadUpdateAsync();
                
                }
        }

        void CheckAndDownloadUpdateCompleted(object sender, CheckAndDownloadUpdateCompletedEventArgs e)
        {
            if (e.Error == null && e.UpdateAvailable)
            {
                MessageBox.Show("Die Anwendung wurde aktualisiert. Bitte starten Sie die Anwendung neu.");
            }
            else
            {
                if(e.Error != null)
                    MessageBox.Show(e.Error.ToString() + “.:“ + e.Error.Message);
            }
        }

Die Methode CheckAndDownloadUpdateAsync(); prüft auf ein Update der Anwendung. Bei Vorhandensein eines Updates wird dieses geladen. Das Ergebnis wird in einem Callback-Event void CheckAndDownloadUpdateCompleted(object sender, CheckAndDownloadUpdateCompletedEventArgs e)  zurückgegeben, den wir vorher registriert haben. Diesen können wir auswerten und entsprechend darauf reagieren. Zum Beispiel den Benutzer auffordern, die Anwendung nach einem Update neu zu starten oder einen Fehler, sofern einer aufgetreten ist, auszugeben.

Um die Funktionalität zu testen, braucht man nur eine OOB Anwendung erstellen und anschließend zu installieren. Danach genügt eine Änderung, die kompiliert werden muss, sodass es ein vermeidliches Update der Anwendung gibt. Nach erneutem Starten der Anwendung vom Startmenü erscheint die oben programmierte Updatemeldung. – So leicht kann es gehen….

Doch das ist leider nur die halbe Wahrheit. – Zum Glück!

image

Leider funktioniert der oben beschriebene Weg nur auf dem eigenem PC, und nicht auf anderen im Netzwerk und schon gar nicht im Internet. Das ist auch gut so, da jede Aktualisierung einer Anwendung auch ein potenzielles Sicherheitsrisiko ist.

Um das Problem zu lösen, müssen wir unsere Silverlight 4 OOB-Anwendung erst mit einem gültigen Zertifikat signieren. Es ist sowieso sinnvoller OOB Anwendungen zu signieren, da dem Benutzer zusätzlich der normalerweise abschreckende Bestätigungsdialog erspart bleibt. Stattdessen erscheint ein eher vertrauenserweckender Dialog mit Informationen zum Herausgeber der Anwendung, etc.

So signiert man eine Silverlight Anwendung:

  1. Man benötigt einen private key mit Zertifikat (.pfx ) zum signieren der Anwendung. Diesen kann man zum einen bei Zertifizierungsstellen erwerben, oder selbst erstellen (SPC). Bei einem selbsterstellten Zertifikat muss man diesem jedoch erst sein Vertrauen schenken. Eine Anleitung dazu und der Erstellung gibt es hier: http://stackoverflow.com/questions/84847/how-do-i-create-a-self-signed-certificate-for-code-signing-on-windows oder findet man an vielen Stellen im Netz, z.B. mit OpenSSL.
  2. Im Postbuild-Event des Silverlight 4 Projekts muss folgender Befehl eingefügt werden:
       "%ProgramFiles%\Microsoft SDKs\Windows\v7.0A\Bin\signtool.exe" sign /v /f c:\path\to\mykey.pfx /p "MYPASSWORD" /t TIMESTAMP_URI_FROM_PROVIDER $(TargetName).xap


Nach dem Kompilieren sollte nun ein vertrauenswürdiger Dialog erscheinen, wenn man die Anwendung installieren will. Das Update funktioniert jetzt auch auf anderen Clients, die dem Zertifikat vertrauen.
Wichtig ist jedoch, dass dieser Schritt vor dem ersten Ausrollen der Anwendung geschehen muss. Und nicht erst danach! Sonst steht kein automatisches Updatefeature mehr zur Verfügung.


 
Categories: Silverlight

Gestern ging die Silverlight 4 Release Version, wie am Dienstag dem 13.04.2010 angekündigt, live. Zudem wurde einen Tag vorher die Visual Studio 2010 RTM Version released.

Laut Tim Heuer benötigen die Silverlight 4 Tools Entwickler, die die Werkzeuge in Visual Studio zu Bearbeitung von Silverlight 4  Anwendungen entwickeln, erst die Silverlight 4 Release Version, um selbst das Final Release fertigstellen zu können.

“To be clear, Silverlight 4 has released.  This is RTW (release to web).  It is the version 4 of Silverlight.  Shipped.  Done.  Finished.

The tools (namely SL4 tools, RIA Services and Blend) are in their ‘release candidate’ mode.  I’ll spare you the gory details, but remember that these tools teams need SL4 to be *done* before they can be done.  SL4 is a dependency for them.  These tools are release quality though and I’d recommend using them.  Their final versions will come soon enough and will be a minor update.”

 

Zuerst dachte ich:

“Na toll! Noch länger mit der Visual Studio 2010 RC Version ausharren.“

Aber weit gefehlt:

Es wurden bereits die Silverlight 4 Tools RC2 veröffentlicht.

Laut der Downloadseite bei Microsoft wird folgendes Unterstützt.

“This package is an add-on for Visual Studio 2010 to provide tooling for Microsoft Silverlight 4 and RIA Services. It can be installed on top of either Visual Studio 2010 or Visual Web Developer 2010 Express. It extends existing Silverlight 3 features and multitargeting capabilities in Visual Studio 2010 to also create applications for Silverlight 4 using C# or Visual Basic. Note that this is a second Release Candidate (RC2) for the tools; the final release will be announced in the coming weeks.
Silverlight 4 Tools for Visual Studio 2010 includes several features:

  • Support for targeting Silverlight 4 in the Silverlight designer and project system
  • RIA Services application templates and libraries
  • Support for Silverlight 4 elevated trust and out-of-browser applications and other new Silverlight 4 features

This download will install all components necessary for Silverlight 4 and RIA Services development:
  • Silverlight 4 developer runtime (final release)
  • Silverlight 4 SDK (software development kit, final release)
  • Update for Visual Studio 2010 and Visual Web Developer Express 2010 (KB976272, pre-release)
  • Silverlight 4 Tools for Visual Studio 2010 RC2
  • WCF RIA Services for Silverlight 4 RC2

The final release of Silverlight 4 Tools will be made available in the near future.”

 
Categories: .NET | Silverlight

In der Keynote der MIX2010 in Las Vegas hat ScottGu (Scott Guthrie) heute den von mir lange erwarteten Silverlight 4 RC, der endlich mit Visual Studio 2010 RC funktioniert released.
Den Download findet ihr hier: Silverlight 4 RC Download


Jetz kann ich endlich wieder eine aktuelle Resharper 5 Beta nehmen, und bin nicht mehr auf Visual Studio 2010 Beta 2 angewiesen, welches als einzige funktioierende Version für die Silverlight 4 Beta galt. Danke !


 
Categories: Silverlight

Ich war etwas enttäuscht, als ich heute die Silverlight 3 Beta und Entwicklungstools auf meinem PC installieren wollte. Die Silverlight 3 Beta Tools for Visual Studio 2008 SP1 lassen sich nämlich nur auf einem Englischen Visual Studio 2008 installieren. Als Alternative soll man sich die passende Version für seine Sprache von den Tools runterladen. Es gibt jedoch nur englisch und japanisch. Daher sind schon mal alle User des VS2008 SP1 Deutsch aufgeschmissen. – Der eine mag jetzt vielleicht sagen: “Ihhh! VS 2008 auf deutsch? Nehme sowieso immer die Englische!”. Bei mir ist jedoch bei der letzten Installation etwas schief gelaufen. Ich habe die deutsche Version anstatt der englischen Version installiert, und mich daher, aus Faulheit die Englische neu zu installieren, damit abgefunden.

 

So kommt man trotzdem zu Silverlight 3 Beta im deutschen VS2008 SP1:

Mit einem Packprogramm wie z.B. 7zip entpacken wir die Datei:

Silverlight3_Tools.exe (Das ist die englische Version der VS Tools)

in eine neues Verzeichnis –> Silverlight3_Tools

Dort habe ich folgende Dateien installiert:

Silverlight3_Tools\VS_SilverlightTools_Setup.exe

Silverlight3_Tools\silverlight_sdk.msi (Per Rechtsklick –> Installieren)

 

Jetzt müsste man eigentlich noch das Hotfix: KB967143 installieren, was meiner Vermutung nach der Faktor ist, warum es keine ENU-Beta gibt.

Für das KB967143 gibt es keine deutsche Version. Ich habe es daher weggelassen. Ob dies Ratsam ist, kann ich nicht sagen, ich habe bis jetzt keine Infos gefunden, was dieses KB eigentlich fixt.

Für irgendwelche Schäden, die durch diese Anleitung enstehen könnten, nehme ich keine Haftung. Es bleibt euch überlassen, neuzuinstallieren auf englisch oder zu warten bis es eine deutsche Version gibt.

Sollte es irgendwann mal ein Update für deutsche Visual Studio Versionen geben, oder gar Silverlight 3 Final Tools, so besteht die Möglichkeit dieses ebenfalls zu entpacken, und die KBs die benötigt werden zu installieren. In diesem Fall, das fehlende deutsche KB967143.

 

Damit man in den Genuss von Silverlight 3 kommt, braucht man nur noch die Silverlight 3 Beta Developer Runtime installieren.

Jetzt kann man Silverlight 3 Beta auch nutzen.


 
Categories: Silverlight