Fehlermeldungen? (ICE 38 / 57 / 64) Q20022007A

Fragen zum AKInstallerMSI
Antworten
Kukulkan
Beiträge: 120
Registriert: 13.02.2007, 16:05

Fehlermeldungen? (ICE 38 / 57 / 64) Q20022007A

Beitrag von Kukulkan »

Hallo,

Was bedeutet dieser Fehler?
ICE38 : Component C_FL_11_regify_creator_ini installs to user profile. It must use a registry key under HKCU as its KeyPath, not a file.
Ich möchte ja nur eine ganz normale Datei in den AppDataFolder installieren...

Hier die Erklärung von MS:
The value of the attributes column of Component1 is 0, meaning that the component must use a file as its KeyPath. This causes difficulties when multiple users install the component on the same computer.
To fix this error on Component1, set the RegistryKeyPath bit in the Attributes column of the Component table and change the entry in the KeyPath column to a value listed in the Registry column of the Registry table.
Ich verstehe leider nur Bahnhof. Wo finde ich einen KeyPath und wozu soll ein Registry-Eintrag gut sein? Und was soll ich denn eintragen wenn ich nur eine Datei nach AppDataFolder kopieren lassen möchte?

Bitte um kurzfristige Hilfe!

Nochwas:
Wenn ich zB diese beiden Dateien in das INSTALLDIR installieren möchte, dann gibt es Fehler:

testdateiname.exe
testdateiname_help.exe

Problem: AKInstallerMSI erstellt folgende kurze Dateinamen:
TESTDA~1.exe
TESTDA~1.exe

Das Durchnumerieren klappt nicht. Wenn man es manuell macht ist der Fehler weg... (TESTDA~2.exe etc.)

Kukulkan
Andreas Kapust
Administrator
Beiträge: 1085
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Andreas Kapust »

Guten Tag!

ICE:
Der ICE38 bedeutet in dem Fall, dass AppDataFolder ein User-Verzeichnis ist, also nur für den Benutzer erstellt wird, der das Setup ausführt. (Also meistens der Admin, wenn INSTALLDIR in X:\Programme liegt).

Meldet sich Oskar statt Admin an, sieht die Applikation C_FL_11_regify_creator_ini nicht, da diese im Admin-AppDataFolder liegt.

Zum TESTDA~1.exe:
Wenn testdateiname.exe und testdateiname_help.exe in unterschiedlichen Verzeichnissen liegen klappt dies nicht. Der AKInstallerMSI liest über die System-Funktion den kurzen Namen aus.

Dieses kann man sehen wenn man in dem Verzeichnis per Konsole dir /x ausführt.
Mit freundlichen Grüßen,
AKApplications, Andreas Kapust
Kukulkan
Beiträge: 120
Registriert: 13.02.2007, 16:05

Beitrag von Kukulkan »

Andreas Kapust hat geschrieben: ICE:
Der ICE38 bedeutet in dem Fall, dass AppDataFolder ein User-Verzeichnis ist, also nur für den Benutzer erstellt wird, der das Setup ausführt. (Also meistens der Admin, wenn INSTALLDIR in X:\Programme liegt).

Meldet sich Oskar statt Admin an, sieht die Applikation C_FL_11_regify_creator_ini nicht, da diese im Admin-AppDataFolder liegt.
Denn danach macht das Setup genau das was es soll: Die Datei im Pfad .../%Username%/Anwendungsdaten/ installieren. Es soll ja auch nur in den Anwendungsdaten-Ordner im Benutzerprofil gehen. Aber die Meldung ist keine Warnung sondern ein Fehler. Dann also die ICE Prüfung ausschalten bzw. ignorieren?

Kukulkan
Andreas Kapust
Administrator
Beiträge: 1085
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Andreas Kapust »

Welcher Installationstyp wird genutzt (Typ 1/ Computerinstallation)?

In dem Fall einfach ignorieren, wenn die App. eh nur von einem Admin ausgeführt werden soll.

[Nachtrag:]
Um diesen Fehler zu beheben, muss man einen Eintrag unter HKCU anlegen z. B. Registry -> Produktschlüssel anlegen... -> Schlüssel zur Deinstall... . Dann weist man der Datei die Komponente des Registry-Eintrags zu. Dieses erzeugt aber einen ICE57.

Grund: Für Komponenten für Registry-Einträge wird als Directory_ INSTALLDIR genutzt (siehe Menü -> Programme -> MSI-Funktionen -> MSI-Datei anzeigen...).
Zur Zeit lässt sich das im AKInstallerMSI nicht ändern (ich habe das eben auf die ToDo-Liste gesetzt). Würde hier als Directory_ ein Benutzer-Verzeichnis angegeben, wäre der Fehler weg.
:arrow: [Nachtrag:]Mit dem nächsten Update (nach 1.6.270) ist das Einstellen möglich.

Benutzer -Verzeichnisse z. B. AppDataFolder\Test müssen über Dateioperationen entfernt werden.

Allgemein sollte man aber versuchen nicht Benutzer/Computerinstallation zu mischen.
Zuletzt geändert von Andreas Kapust am 21.02.2007, 17:56, insgesamt 1-mal geändert.
Mit freundlichen Grüßen,
AKApplications, Andreas Kapust
Kukulkan
Beiträge: 120
Registriert: 13.02.2007, 16:05

Beitrag von Kukulkan »

Hallo Herr Kapust,

Vielen Dank für die Erklärung. Wie sollte man den Grundsätzlich vorgehen, wenn man folgendes Erreichen möchte:

1.
Egal wer installiert, das Programm sollte allen Benutzern zur Verfügung stehen (auch ein Hauptbenutzer sollte installieren können).

2.
In diesem Setup sollte im Profil des aktuellen Benutzers eine Datei angelegt werden (nur falls noch nicht vorhanden).

3.
Ein 'Assistent' startet nach dem Setup um dem aktuellen Benutzer bei der Konfiguration zu helfen.

Hintergrund: Das Programm soll für alle gelten. Jeder Benutzer soll aber seine eigene Konfiguration haben (eine Art INI-Datei). Der Assistent soll natürlich dabei helfen nur die Konfiguration des aktuellen Benutzers zu bearbeiten. Nach dem Setup ist das nunmal der aktuelle Benutzer.

Wie würden Sie das ganze dann angehen?

Kukulkan
Andreas Kapust
Administrator
Beiträge: 1085
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Andreas Kapust »

Hallo!

1: Nur der Admin sollte Installieren dürfen. Wählen Sie hier Computerinstallation (Typ1). So werden die Daten allen zur Verfügung gestellt.

2:
http://www.akinstaller.gbadmin.de/akfor ... .php?t=286 Thema angekündigte Installation. Der Windows Installer springt hier beim Aufruf kurz an und installiert die Daten für den aktuellen benutzer.

3: Das Hauptprogramm sollte den Assitent starten. Bei der Installation (also im Setup) würdeder Assit. im Kontext des Benutzers ausgeführt werden (also des Admins). Unter Vista läuft dieser Prozess nicht mehr mit erhöhten Rechten (sollte er auch nicht), wenn er über die Abschluss-Seite gestartet wird, damit besteht also auch kein Schreibrecht auf INSTALLDIR!
Der Assist. wird also beim ersten Start automatisch aufgerufen (vom HP) und richtet damit das System ein.

Das wäre mein 1. Vorschlag.

2. Vorschlag:
Komplette Benutzerinstallation. INSTALLDIR wäre [LocalAppDataFolder][Manufacturer]\[ProductName], Installationstyp Typ 0, keine erweiterten Rechte unter Vista.
Hier könnte jeder Benutzer installieren (solange nicht von den Gruppenrichtlinien verboten).
Mit freundlichen Grüßen,
AKApplications, Andreas Kapust
Kukulkan
Beiträge: 120
Registriert: 13.02.2007, 16:05

Beitrag von Kukulkan »

Vielen Dank für die Antworten.

Ich habe nunmal das Problem, dass ich von Kunden immer wieder gefragt werde, ob denn die Installation nur als Administrator möglich sei. Ich finde das auch in Ordnung so, aber Kunden haben nunmal immer Recht... :wink:

Ich weiss noch nicht wie ich das machen werde, aber ich denke ich werde den zweiten Vorschlag in Betracht ziehen. Problem ist, dass ich zwei DLL's in das System-Verzeichnis kopieren muss und noch ein Outlook-AddIn (COM) mit VB6 Laufzeitdateien nachschieben muss...


Grüsse,

Kukulkan
Andreas Kapust
Administrator
Beiträge: 1085
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Andreas Kapust »

Hallo!
Die Runtimes könnten ein Problem sein.
Ansonsten mal mit einer Installation unter "Gemeinsame Dateien" oder Side by Side probieren (hängt an den COMs ob es geht).

Wenn das läuft würde ich mich freuen, wenn Sie den Weg hier (für andere) aufzeigen könnten.
Mit freundlichen Grüßen,
AKApplications, Andreas Kapust
Kukulkan
Beiträge: 120
Registriert: 13.02.2007, 16:05

Beitrag von Kukulkan »

Hallo,

Das steht erst in ein paar Wochen oder Monaten an. Wenn ich was gemacht habe werde ich es gerne hier melden!

Grüsse,

Kukulkan
Antworten