combit List & Label 30 - .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 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.

    Hinweise

    Die List & Label 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. In .NET-Systemarchitektur finden Sie weitere Details zu den .NET Assemblies und den unmanaged Modulen.

    Enterprise Edition: Darüberhinaus stehen spezielle NuGet-Pakete für die List & Label Enterprise Edition zur Verfügung, die alle Module (.NET Assemblies und auch unmanaged Module) enthalten und keine List & Label Installation für das Deployment benötigen und somit für den Einsatz auf z. B. Build Servern wie Azure DevOps geeignet sind. Den persönlichen NuGet-Feed für die Verwendung z. B. im Visual Studio NuGet-Paket-Manager finden Sie in der Datei PersonalLicense.txt in Ihrer List & Label Installation. Bitte beachten Sie, dass Ihre List & Label Lizenz hierfür registriert sein muss. Bei der Verwendung dieser NuGet-Pakete auf einem Build Server benötigen Sie in der Regel eine nuget.config Datei (siehe nachfolgend), die im Verzeichnis der entsprechenden Projektdatei liegen muss, um festzulegen, woher die NuGet-Pakete bezogen werden sollen (weitere Informationen hierzu finden Sie unter nuget.config reference). Im Übrigen ist die Verwendung einer nuget.config Datei aus demselben Grund hilfreich, wenn Sie mehrere Paketquellen definiert haben, die List & Label NuGet-Pakete enthalten.

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <packageSources>
        <!-- remove inherited connection strings -->
        <clear />
        <add key="<beliebiger Name, z.B. ListLabel30Enterprise>" value="<Persönlicher NuGet-Feed für Enterprise NuGet-Pakete>" />
        <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
      </packageSources>
    </configuration>
    

     

    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\cmLL30.dll">

         <Visible>False</Visible>

          <TargetPath>cmLL30.dll</TargetPath>

          <PublishState>Include</PublishState>

          <FileType>File</FileType>

       </PublishFile>

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

          <Visible>False</Visible>

          <TargetPath>cmct30.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 NT-Windows Betriebssystemen 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.