Erste Schritte - Teil2

Antworten
Volker
Beiträge: 37
Registriert: 08.07.2022, 09:25

Erste Schritte - Teil2

Beitrag von Volker »

Nach der Übernahme aus dem Projekt-Assistenten bietet sich uns dieses Bild.
Wir müssen auf dieser Seite erst einmal keine weiteren Einstellungen tätigen.

Bild

Erwähnenswert ist allerdings Installationstyp. Es gibt zwei Arten davon, zum Einen
Computerinstallation (für alle Benutzer) und zum Anderen Benutzerinstallation
(nur für den aktuellen Benutzer).

Da wir Daten in SystemFolder und ProgramFilesFolder ablegen, handelt es sich definitiv um
eine Computerinstallation, ein Benutzer hat hier keinen schreibenden Zugriff.

Bild


Auf der Dateien-Seite wurden unsere Daten wie gewünscht eingefügt und hier sind auch
einige Einstellungen nötig.

Bild


Beginnen werden wir mit den Rechte-Einstellungen für unser Config-Verzeichnis.

Bild


NT-Rechte einzustellen ist im AKInstallerMSI sehr einfach.

Bild

Nach dem Öffnen des Einstellungsdialogs wechseln Sie auf die Seite Rechte und klicken im Neu-Schalter
auf das Pfeil-Symbol.


Nun wählen Sie hier den Punkt Jeder/System/Admin aus.
Bild

Und die nötigen Daten werden eintragen.

Klicken Sie jetzt noch auf OK,
Bild
und beantworten die Abfrage mit Ja und alles nötige ist eingerichtet.


Nun folgt die Datei-Einstellungen für FReqGUITools10.dll. Diese Datei liegt in SystemFolder
und wird zudem von mehreren Applikationen benötigt.

Bild

Unter Komponenten muss die Einstellung Gemeinsame Datei gesetzt werden.


Der Windows Installer selbst benötigt die Einstellung Gemeinsame Datei nicht, da dieser das
Vorhandensein durch eine GUID erkennt. Was uns zu einer weiteren Besonderheit führt:
Komponenten.

Was genau Komponenten sind, finden Sie in der Anleitung, darum wird hier nicht weiter darauf eingegangen,
wichtig ist nur dies:

Dateien, welche an öffentlichen Orten liegen (also außerhalb von INSTALLDIR z. B. SystemFolder) sollten
zu diesem Zweck in jedem Projekt die gleiche GUID verwenden. Der einfachste Weg sind hierbei
Mergemodule.

Und Teil4 und Teil4.1 gehen genau darauf ein. Handelt es sich um eigene Dateien und/oder gibt es kein
Mergemodul dafür, legen Sie ein eigenes MSM-Projekt dafür an.


Der Sprach-Editor benötigt noch weitere Dateien. Wenn der Punkt bei Ihnen verfügbar ist, wählen Sie
Abhängigkeiten ermitteln (Teil4) und anschließend, wie im Bild rechts markiert, die ersten drei Dateien.

BildBild

Und da die Dateien aus dem SystemFolder kommen, werden Sie auch automatisch dort eingeordnet.

Beachten Sie, was für FReqGUITools10.dll und die Einstellung Gemeinsame Datei sowie Komponente und
GUID galt, gilt auch für die neuen Dateien: Mergemodule!
Bild

Haben wir auf der Mergemodul-Seite die entsprechenden Ordner bereits angeben, können die Datei
einfach durch Module austauschen (Teil4.1).

Bild

Nun können wir für den Sprach-Editor noch Verknüpfungen anlegen (damit befasst sich unter
anderem Teil7) und Registry-Einträge anlegen.


Auf der Seite Registry können Sie Schlüssel einzeln per Eintrag anlegen erstellen
oder aber den Namen per Drag and Drop an die entsprechenden Stelle kopieren.

Halten Sie dabei die Strg-Taste gedrückt, erscheint ein Dialog, der die komplette
Übernahme aller Unterschlüssel und Daten ermöglicht.

Ist die Strg-Taste nicht gedrückt, kopieren Sie nur den Namen.

Legen Sie für unser Beispiel im oberen Bereich
HKEY_CURRENT_USER\Software\AKApplications\AKInstallerMSI\Settings\ an.

Bild

Und kopieren anschließend, wie im Bild unten gezeigt, die Daten. Beachten Sie, dass es auf
dieser Seite durchaus möglich ist, Daten doppelt anzulegen/einzufügen, da Einträge eine
Produktsprache zugeordnet werden können.

Bild


Wir haben jetzt Daten in SystemFolder (Computerinstallation) und HKEY_CURRENT_USER (Benutzerinstallation).

Frage: "Warum mischen und geht das überhaupt?"

Antwort: Ja es geht und weil das Beispiel es hergibt und es öfters vorkommt als man denkt. :-)

Klar, es würde auch anders gehen. Wir könnten die gesamt Installation als Benutzerinstallation
anlegen und als INSTALLDIR [LocalAppDataFolder]Programs\[Manufacturer]\[ProductName]
vorgeben.

Hierzu müssen alle DLLs satt in SystemFolder in INSTALLDIR\Tools liegen und es müssten
nun nicht mal Rechte für INSTALLDIR\Config gesetzt werden, da der Ordner ja nun im Benutzerbereich liegt.

Aber das wäre ja zu einfach und auch nicht der Regelfall - hier aber durchaus möglich!

Computerinstallation-Setup:
Benutzer-Typ:Vor NT6 (Win2000/XP)Ab NT6:
Admin (z. B. Herr Müller, SysAdmin)Die Benutzer-Daten werden nur für Herrn Müller eingerichtet.Die Benutzer-Daten werden nur für Herrn Müller eingerichtet.
Benutzer (z. B. Herr Meier, einfacher Benutzer)Installation scheitert, da ein Benutzer nicht in SystemFolder schreiben kann.Das Setup verlangt bei der Installation höhere Rechte (Herr Müller muss kurz ran) und das Setup
trägt die Benutzer-Daten für Herrn Meier ein.

Benutzerinstallation-Setup:
Benutzer-Typ Vor NT6 (Win2000/XP) und ab NT6
Admin[br]
(z. B. Herr Müller, SysAdmin)
Die Benutzer-Daten werden für Herrn Müller eingerichtet und das Programm ist nur für ihn
verfügbar.
Benutzer [br]
(z. B. Herr Meier, einfacher Benutzer)
Die Benutzer-Daten werden für Herrn Müller eingerichtet und das Programm ist nur für ihn
verfügbar.


Frage: "Und Frau Schmidt, die Urlaubsvertretung für Herrn Meier? Muss das Programm bei
einer Benutzerinstallation auch für Sie installiert werden und damit doppelt auf Platte vorhanden sein?"

Antwort: Ein schlicht Ja.

Wenn also die Herren Müller und Meier und Frau Schmidt damit arbeiten sollen, müssen wir eine
anderen Weg gehen, eine Computerinstallation, die dennoch die Benutzer-Daten (die wenigen
Registry-Einstellungen in unserem Fall) für den jeweiligen Benutzer einrichtet. Es sei nicht
verheimlicht, das es noch andere Möglichkeiten gäbe, auf die im Beispiel aber nicht weiter
eingegangen werden soll.

Unsere Lösung:
Wählen Sie wie im Bild MS Active Setup aus.
Bild

Beantworten Sie diesen Dialog schlicht mit OK.
Bild

Dies sorgt dafür, dass die Anwendung einmalig beim nächsten Einloggen eines beliebigen
Benutzer für diesen Benutzer repariert wird. Und zwar werden Benutzer-Registry-Einträge
und fehlende Date (z. B. in Benutzer-Ordnern) installiert.

Damit installiert Herr Müller (der Admin) die Anwendung ganz normal und sobald sich Herr Meier
oder Frau Schmidt (normale Benutzer) anmelden, werden die Benutzerdaten geschrieben.

Problem gelöst.
Zuletzt geändert von Volker am 08.07.2022, 11:28, insgesamt 1-mal geändert.
Mit freundlichen Grüßen,
AKApplications, Volker J.
Antworten