Bodo's Dynamics NAV Blog

Bodo ist ein Dynamics NAV Urgestein. Er programmiert NAV seit DOS Zeiten und hat auch keine Scheu vor .NET. Viele Neueinsteiger wurden von ihm in den letzten Jahren zu NAV Entwicklern ausgebildet.

In diesem Blog veröffentlichen Bodo und andere Superhelden Interessantes aus der Welt von Dynamics NAV.

Dynamics NAV 2013 R2 über ClickOnce bereitstellen

Eintrag von Bodo am Freitag, 16. Mai 2014

Tags: , , , , ,

[Update 16. Mai 2014]

In der Beschreibung unten habe ich vergessen zu erwähnen, dass Sie für den Dynamics NAV Windows Client ein Zertifikat installieren müssen. Und zwar genau das Zertifikat, welches Sie in dem Blog-Artikel http://comporsys.de/dynamics-nav-blog/dynamics-nav-2013-r2-kennwortauthentifizierung-den-credential-type-navuserpassword-konfigurieren/ unter Schritt 2 erzeugt haben.

***

Der Stand der Dinge: Unsere Dynamics NAV 2013 R2 Multi-Tenant-Installation in der Microsoft Cloud ist bisher nur über den Web Client zu erreichen. Heute wollen wir unseren Kunden den Windows Client über ClickOnce auf unserer Website bereitstellen.

Einen guten Einstieg in das ClickOnce-Thema finden Sie auf MSDN unter http://msdn.microsoft.com/en-us/library/t71a733d.aspx. Ebenso eine Beschreibung wie Sie NAV 2013 bereitstellen: http://msdn.microsoft.com/en-us/library/hh997056(v=nav.70).aspx.

Und los geht’s:

Schritt 1: Der Dynamics NAV 2013 R2 Installation die «ClickOnce Installer Tools» hinzufügen.

blog2013-11-1-image1.png

Schritt 2: Das «Microsoft Windows SDK for Windows 7 and .NET Framework 4» installieren. Download hier: http://www.microsoft.com/en-us/download/details.aspx?id=8279. Wir benötigen nur die «.NET Development Tools». Die Installation gestaltet sich leider schwieriger als gedacht. Das Problem ist hier beschrieben: http://support.microsoft.com/kb/2717426. In Kurzform: Sie müssen vor der Installation des Windows SDK die «Microsoft Visual C++ 2010 x86/x64 Redistributable» Pakete deinstallieren, da die vorhandenen Versionen neuer sind als die, die mit dem Windows SDK mitgeliefert werden.

blog2013-11-1-image2.png

Schritt 3: Erstellen Sie einen Ordner für die Bereitstellung, z.B. C:\ClickOnce\Comporsys\DynamicsNAV.

Schritt 4: Kopieren Sie die «ClickOnce Installer Tools» in diesen Ordner. Die «ClickOnce Installer Tools» finden Sie im Ordner C:\Program Files (x86)\Microsoft Dynamics NAV\71\ClickOnce Installer Tools\TemplateFiles.

Schritt 5: Veröffentlichen Sie die Download Page «NAVClientInstallation.html» (Teil der «ClickOnce Installer Tools») für den Dynamics NAV 2013 R2 Windows Client. Starten Sie dazu den «Internet Information Services (IIS) Manager» und fügen Sie der Website «Default Web Site» ein virtuelles Verzeichnis hinzu.

blog2013-11-1-image3.png

Klicken Sie auf der linken Seite mit der rechten Maustaste auf «Default Web Site» und wählen Sie aus dem Kontextmenü «Add Virtual Directory…». Den «Alias» können Sie frei wählen. Der «Physical Path» muss auf das Verzeichnis Ihrer Bereitstellung zeigen.

Schritt 6: Kopieren Sie alle Programmdateien (*) des Dynamics NAV Windows Client (RoleTailored Client) aus dem Ordner C:\Program Files (x86)\Microsoft Dynamics NAV\71\RoleTailored Client in den Ordner C:\ClickOnce\Comporsys\DynamicsNAV\Deployment\ApplicationFiles.

(*) Eventuell haben Sie nicht nur den Windows Client installiert, sondern auch die Development Environment. Dann haben Sie in diesem Ordner mehr Dateien (z.B. die finsql.exe) als Sie tatsächlich benötigen. Kopieren Sie diese Dateien einfach nicht mit.

Schritt 7: Kopieren Sie die Datei «ClientUserSettings.config»aus dem Ordner C:\Users\<Ihr Name>\AppData\Roaming\Microsoft\Microsoft Dynamics NAV\71 in den Order C:\ClickOnce\Comporsys\DynamicsNAV\Deployment\ApplicationFiles. Passen Sie die Konfigurationseinstellungen an:

blog2013-11-1-image5.png

Schritt 8: Erstellen Sie das «Application Manifest». Öffnen Sie ein Kommandozeilenfenster und wechseln Sie in den Ordner C:\ClickOnce\Comporsys\DynamicsNAV\Deployment\ApplicationFiles. Anschließend führen Sie das «Mage-Tool» aus:

"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\NETFX 4.0 Tools"\mage
  -Update Microsoft.Dynamics.Nav.Client.exe.manifest
  -FromDirectory .

Dazu drei Anmerkungen: 1) Sie müssen unbedingt das «Mage-Tool» aus dem Ordner «\NETFX 4.0 Tools» verwenden. Das gleiche Tool finden Sie auch im Ordner «\Bin» in einer älteren Version. Diese Version ist nicht mit dem Dynamics NAV Windows Client kompatibel. 2) Vergessen Sie nicht den Punkt am Ende des Befehls oben. 3) Bei der Ausführung erhalten Sie zwei Warnungen wegen zu langer Dateinamen. Diese Warnungen ignorieren wir, da wir das nicht ändern können.

Schritt 9: Erstellen Sie das «Deployment Manifest». Öffnen Sie ein Kommandozeilenfenster und wechseln Sie in den Ordner C:\ClickOnce\Comporsys\DynamicsNAV\Deployment. Anschließend führen Sie das «Mage-Tool» aus:

"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\NETFX 4.0 Tools"\mage
-Update Microsoft.Dynamics.Nav.Client.application
-appmanifest ApplicationFiles\Microsoft.Dynamics.Nav.Client.exe.manifest
-appcodebase http://my-nav2013r2.cloudapp.net/Comporsys/Deployment/ApplicationFiles/Microsoft.Dynamics.Nav.Client.exe.manifest

Schritt 10: Öffnen Sie das «Deployment Manifest» Microsoft.Dynamics.Nav.Client.application und passen Sie Namen, Beschreibung und Codebase an:

blog2013-11-1-image6.png

Schritt 11: Melden Sie sich am Windows Azure Management Portal an und richten Sie für den virtuellen Computer zwei weitere Endpunkte ein: 1) Für den Download des Dynamics NAV Windows Clients den HTTP Port 80. 2) Für die Kommunikation mit dem NAV Server den Port 7046.

blog2013-11-1-image7.png

Schritt 12: Unsere Website ist nicht dafür konfiguriert, dass Dateien mit der Endung «*.config» heruntergeladen werden können. Das müssen wir ändern, da sonst der Download der Datei «ClientUserSettings.config» scheitert und die ClickOnce-Installation mit einem Fehler abbricht.

Erstellen Sie in dem Ordner C:\ClickOnce\Comporsys\DynamicsNAV eine Datei «web.config» mit folgendem Inhalt:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <directoryBrowse enabled="true" />
    <staticContent>
      <mimeMap fileExtension=".config" mimeType="application/x-msdownload" />
      <mimeMap fileExtension=".tlb" mimeType="application/x-msdownload"/>
      <mimeMap fileExtension=".olb" mimeType="application/x-msdownload"/>
      <mimeMap fileExtension=".pdb" mimeType="application/x-msdownload"/>
      <mimeMap fileExtension=".hh" mimeType="application/x-msdownload"/>
      <mimeMap fileExtension=".xss" mimeType="application/x-msdownload"/>
      <mimeMap fileExtension=".xsc" mimeType="application/x-msdownload"/>
      <mimeMap fileExtension=".stx" mimeType="application/x-msdownload"/>
      <mimeMap fileExtension=".msc" mimeType="application/x-msdownload"/>
      <mimeMap fileExtension=".flf" mimeType="application/x-msdownload"/>
      <mimeMap fileExtension=".rdlc" mimeType="application/x-msdownload"/>
      <mimeMap fileExtension=".sln" mimeType="application/x-msdownload"/>
    </staticContent>
    <security>
      <requestFiltering>
        <fileExtensions>
          <remove fileExtension=".config" />
        </fileExtensions>
      </requestFiltering>
    </security>
  </system.webServer>
</configuration>

Schritt 13: Fertig. Rufen Sie die Download Page unter http://my-nav2013r2.cloudapp.net/Comporsys/NAVClientInstallation.html auf und starten Sie die Installation.

blog2013-11-1-image8.png

*** *** ***

Fortsetzung folgt. Beim nächsten Mal erkläre ich Ihnen, wie Sie eine weitere Tenant-Datenbank der Installation hinzufügen.