combit List & Label 26 - .NET Hilfe
Einführung in die Programmierung / Weitergabe
In diesem Thema
    Weitergabe
    In diesem Thema

    Um List & Label an Endanwender auszuliefern, müssen keine Module registriert und keine Dateien zwingend im Systemverzeichnis abgelegt werden. So kann Ihre Applikation beim Anwender mit einem einfachen Kopieren der Module (xcopy-Installation) installiert werden.

    Vor der Auslieferung muss auf jeden Fall Ihr persönlicher Lizenzschlüssel in der LicensingInfo der Komponente eingetragen werden. List & Label bestimmt anhand dieses Schlüssels den Featureumfang entsprechend den Editionen (Standard, Professional oder Enterprise), der Ihrer Anwendung dann zur Verfügung steht. Ihren persönlichen Schlüssel finden Sie in der Datei "PersonalLicense.txt".

    Einige der .NET-Assemblies benötigen NuGet-Pakete als Abhängigkeiten, dies gilt z.B. für einige spezielle Datenprovider und den AdHoc-Designer. Ab .NET Core 3.0 hat Microsoft auch große Teile des .NET Core Frameworks als NuGet-Packages modularisiert. Beachten Sie bitte vor der Redistribution unbedingt die jeweiligen Lizenzen für diese Abhängigkeiten.

     

     

    Redistributionsassistent

    Zur Zusammenstellung der redistributierbaren Dateien steht der Redistributionsassistent zur Verfügung. In wenigen Schritten können Sie damit alle für Ihre Anwendung benötigten Dateien zusammenstellen und die Dateien direkt in das richtige Zielverzeichnis kopieren, ein ZIP-Archiv erstellen oder die Dateipfade für die weitere Batchverarbeitung kopieren. Den Redistributionsassistenten finden Sie im List & Label Installationsverzeichnis.

     

    NuGet Package Unterstützung 

    Auf GitHub finden Sie eine Einführung in die Bedienung von NuGet. Die List & Label Installation enthält NuGet Packages für die Offline-Nutzung. Sie werden in das Verzeichnis "..\Beispiele\Microsoft.NET\NuGet\" installiert und können einfach in Visual Studio verwendet werden:

    Aber natürlich können die NuGet Packages auch direkt von NuGet.org selbst heruntergeladen werden.

    Hinweis: Die NuGet Packages enthalten nur die ausgewählten .NET Assemblies. Während der Erstellung Ihres Projekts werden die unmanaged Module von List & Label aus dem Installationsverzeichnis "..\Redistribution\" in den Ausgabeordner der Anwendung kopiert und sind nicht Teil der NuGet Packages. Bitte beachten Sie daher bei der Aktualisierung der NuGet Packages, dass auch das entsprechende List & Label Service Pack installiert werden muss. Auf diese Weise passen dann die Versionen der unmanaged Bibliotheken zu den .NET Assemblies der NuGet Packages.

     

    xcopy-Installation 

    Im Unterverzeichnis "Redistribution" Ihrer List & Label Installation finden Sie alle zur Weitergabe freigegebenen Dateien. Normalerweise werden Sie alle Dateien (cm*.dll) und die Zusatzmodule (cm*.llx) verwenden, außerdem natürlich die Assembly die von Ihrer Anwendung referenziert wird und zumindest einen Satz Sprachdateien (cm*.lng). Für die 64-Bit-Variante verwenden Sie die Dateien aus dem x64-Unterverzeichnis (cx*.dll und cm*.dll).

     

    ClickOnce-Deployment einrichten

    Bei der Einrichtung von ClickOnce-Projekten ist die Angabe der benötigten Dateiabhängigkeiten notwendig. Da auch List & Label solche Dateiabhängigkeiten zum korrekten Ablauf voraussetzt, müssen diese entsprechend angegeben werden. Folgende Schritte sind dafür nötig:

    1. Zunächst muss ein entsprechender Ordner erstellt werden, der die Abhängigkeiten enthält. Klicken Sie hierzu mit der rechten Maustaste im Solution Explorer auf das entsprechende Projekt und wählen den Eintrag "Add > New Folder". Nennen Sie diesen "LLFiles".

    2. Nun müssen noch die eigentlichen Abhängigkeiten dem Projekt hinzugefügt werden. Auch hierfür klicken Sie bitte mit der rechten Maustaste im Solution Explorer auf den soeben erzeugten Folder und wählen den Eintrag "Add > Existing Item...". Im soeben geöffneten Dateiauswahldialog markieren Sie nun gemäss der Redist.txt alle Dateien die redistributiert werden müssen. Sie finden diese im Unterverzeichnis "Dokumentation" Ihrer Installation.

    3. Markieren Sie jetzt alle hinzugefügten Dateien im Ordner und stellen die Eigenschaft "Build Action" auf "Content".

    4. Als letzter Schritt muss noch angegeben werden, welche Dateien beim Installieren der Anwendung wo hinkopiert werden sollen. Hierzu ist das manuelle Bearbeiten der Projektdatei (*.csproj bzw. *.vbproj) mit einem Standard ANSI-Editor (z.B. Notepad) notwendig. Fügen Sie nun für jede Datei einen solchen PublishFile-Block hinzu. Dieser muss sich innerhalb des Project-Blocks und ItemGroup-Blocks befinden:

    <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

    ...

    <ItemGroup>

       <PublishFile Include="LLFiles\cmLL26.dll">

         <Visible>False</Visible>

          <TargetPath>cmLL26.dll</TargetPath>

          <PublishState>Include</PublishState>

          <FileType>File</FileType>

       </PublishFile>

       <PublishFile Include="LLFiles\cmct26.dll">

          <Visible>False</Visible>

          <TargetPath>cmct26.dll</TargetPath>

          <PublishState>Include</PublishState>

          <FileType>File</FileType>

       </PublishFile>

     <!-- Hier müssen noch die fehlenden Dateien eingetragen werden -->

    </ItemGroup>

    </Project>

    Nach abschliessendem Speichern und neu Laden des Projekts, können Sie nun Ihre Anwendung per ClickOnce verteilen.

    Wichtig: Wir empfehlen Ihnen dringend vor dem manuellen Bearbeiten Ihres Projekts eine Sicherung der entsprechenden Projekt-Datei anzulegen! Bitte beachten Sie, dass bei jeder Erstellung des ClickOnce-Deployments automatisch und ohne Nachfrage die "ClickOnce Security Settings" aktiviert werden. Dies führt unter den Betriebssystemen ab Windows Vista dazu, dass die Anwendung nach der Erstellung des ClickOnce-Deployments nicht mehr aus der IDE debugged werden kann. Auch das Ausführen der erstellten EXE ist anschließend nicht mehr möglich. Um wieder debuggen zu können, müssen die Sicherheitseinstellungen in den Solution-Properties unter "Security" wieder deaktiviert werden. Dies muss nach jeder Erstellung des ClickOnce-Deployments erfolgen.