List & Label Anwendungen für ClickOnce-Deployment einrichten

Gilt ab List & Label 10
Ab dem .NET Framework 2.0 wird das bisherige No-Touch-Deployment (NTD) durch das weiterentwickelte ClickOnce-Deployment abgelöst. ClickOnce ermöglicht die Verteilung von Windows-Anwendungen über Netzlaufwerke und Webserver. Vorteile gegenüber NTD sind unter anderem, dass Einträge im Startmenü angelegt werden können und dass die Quelle nach dem ersten Herunterladen nicht mehr verfügbar sein muss.

Bei der Einrichtung von solchen 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 Verzeichnis "Redistributierbare Dateien" (ab Version 13) bzw. "redist" (bis Version 11) 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\cmll??.dll">
        <Visible>False</Visible>
        <TargetPath>cmll??.dll</TargetPath>
        <PublishState>Include</PublishState>
        <FileType>File</FileType>
    </PublishFile>
    
    <PublishFile Include="LLFiles\cmct??.dll">
        <Visible>False</Visible>
        <TargetPath>cmct??.dll</TargetPath>
        <PublishState>Include</PublishState>
        <FileType>File</FileType>
    </PublishFile>

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

</ItemGroup>
</Project>


Wichtig: Sollte es bei der Verwendung von Visual Studio 2010 zu Problemen kommen, können Sie die Einträge wie folgt vornehmen.

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

...

<ItemGroup>

	<PublishFile Include="LLFiles\cmbr??.dll">
		<Visible>False</Visible>
		<Group>
		</Group>
		<TargetPath>LLFiles\cmbr??.dll</TargetPath>
		<PublishState>Include</PublishState>
		<IncludeHash>True</IncludeHash>
		<FileType>File</FileType>
	</PublishFile>
	<PublishFile Include="LLFiles\cmct??.dll">
		<Visible>False</Visible>
		<Group>
		</Group>
		<TargetPath>LLFiles\cmct??.dll</TargetPath>
		<PublishState>Include</PublishState>
		<IncludeHash>True</IncludeHash>
		<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!

Eine Vorauswahl an benötigten Dateien für List & Label 21 stellen wir Ihnen im folgendem Link bereit. Kopieren Sie sich aus dieser Textdatei einfach die PublishFile-Blöcke und fügen diese wie oben beschrieben in Ihre Projektdatei mit ein. Ggf. müssen Sie noch die Dateinamen an die von Ihnen verwendete List & Label Version anpassen.

WICHTIG: 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 dies wieder bewerkstelligen zu können, müssen die Sicherheitseinstellungen in den Solution-Properties unter “Security” wieder deaktiviert werden, indem die hier sichtbare Checkbox entfernt wird. Dies muss nach jeder Erstellung des ClickOnce-Deployments erfolgen.

Links:

https://www.combit-support.net/de/support/files/cmbtkb/llclickonce.txt
IDKBTD000688 KBTD000688