SHORTCUTDIR in der Installation ändern
-
- Beiträge: 29
- Registriert: 06.10.2010, 09:52
SHORTCUTDIR in der Installation ändern
Ich würde gerne im Setup den Nutzer den Eintrag im Startmenü verändern lassen.
Leider finde ich kein Beispiel, wie ich diesen Dialog eintrag gestalten kann, so dass er
einen belieben Pfad unter dem Startmenü/Programme/ angeben kann.
Ein normaler "Verzeichnisbrowser" kommt dafuer ja nicht in Frage, da der "Pfad" verlassen werden kann.
Leider finde ich kein Beispiel, wie ich diesen Dialog eintrag gestalten kann, so dass er
einen belieben Pfad unter dem Startmenü/Programme/ angeben kann.
Ein normaler "Verzeichnisbrowser" kommt dafuer ja nicht in Frage, da der "Pfad" verlassen werden kann.
-
- Administrator
- Beiträge: 1092
- Registriert: 29.02.2004, 15:51
- Wohnort: Hamburg
- Kontaktdaten:
Re: SHORTCUTDIR in der Installation ändern
Guten Tag!
Es gibt die einfache Methode 1:
Sie geben ein Eingabefeld vor das den Namen hält und speichern die in eine Eigenschaft z. B. STARTMENU_NAME. STARTMENU_NAME wird mit [ProductName] vorbelegt.
Auf den Weiter-Schalter legen Sie eine CA (Eigenschaft setzen), die SHORTCURDIR auf [ProgramMenuFolder][ STARTMENU_NAME] setzt.
Methode 2:
Sie nutzen Methode 1 und bringen darunter eine Listbox an, die vorher durch eine CA gefüllt wird. Diese liest schlicht alle Verzeichnisse aus [ProgramMenuFolder] ein und stellt diese in der Listbox dar.
Weiterhin eine Wahlmöglichkeit, entweder per Radio, Combo oder Checkbox.
Bei einer Checkbox z. B. über der Listbox (Text: Bestehende Ordner auswählen).
Abhängig von der Auswahl starten Sie durch den Weiter-Schlater die CA die SHORTCURDIR auf [ProgramMenuFolder][ STARTMENU_NAME] setzt
oder
die SHORTCURDIR auf [ProgramMenuFolder][ LISTBOX_ENTRY] setzt.
Ich hoffe der Weg wird hierdurch klar.
Es gibt die einfache Methode 1:
Sie geben ein Eingabefeld vor das den Namen hält und speichern die in eine Eigenschaft z. B. STARTMENU_NAME. STARTMENU_NAME wird mit [ProductName] vorbelegt.
Auf den Weiter-Schalter legen Sie eine CA (Eigenschaft setzen), die SHORTCURDIR auf [ProgramMenuFolder][ STARTMENU_NAME] setzt.
Methode 2:
Sie nutzen Methode 1 und bringen darunter eine Listbox an, die vorher durch eine CA gefüllt wird. Diese liest schlicht alle Verzeichnisse aus [ProgramMenuFolder] ein und stellt diese in der Listbox dar.
Weiterhin eine Wahlmöglichkeit, entweder per Radio, Combo oder Checkbox.
Bei einer Checkbox z. B. über der Listbox (Text: Bestehende Ordner auswählen).
Abhängig von der Auswahl starten Sie durch den Weiter-Schlater die CA die SHORTCURDIR auf [ProgramMenuFolder][ STARTMENU_NAME] setzt
oder
die SHORTCURDIR auf [ProgramMenuFolder][ LISTBOX_ENTRY] setzt.
Ich hoffe der Weg wird hierdurch klar.
Mit freundlichen Grüßen,
AKApplications, Andreas Kapust
AKApplications, Andreas Kapust
-
- Beiträge: 29
- Registriert: 06.10.2010, 09:52
Re: SHORTCUTDIR in der Installation ändern
Antwort 1 erscheint mir am einfachsten. Da der Nutzer aber dort einen String eingeben kann waere die Frage inwieweit ich das Ergebnis pruefen kann.
Bsp:
der Nutzer gibt ein:
meinordner/testprodukt
Dieser Ordner kann wegen dem Slash statt einem Backlash nicht angelegt werden bzw enthalten die Zeichenketten nicht gültige Zeichen wie ?: etc.
Kann man diesen String pruefen (isValidPathName()) bei der Weiter - Aktion?
Bsp:
der Nutzer gibt ein:
meinordner/testprodukt
Dieser Ordner kann wegen dem Slash statt einem Backlash nicht angelegt werden bzw enthalten die Zeichenketten nicht gültige Zeichen wie ?: etc.
Kann man diesen String pruefen (isValidPathName()) bei der Weiter - Aktion?
-
- Beiträge: 29
- Registriert: 06.10.2010, 09:52
Re: SHORTCUTDIR in der Installation ändern
Ich habe nun Vorschlag 1 realisiert (bzw versucht, da triviale dinge meist ja nicht trivial sind
)
In einem Neuen Dialog habe ich nun ein Editfeld, das mit der Eigenschaft SHORTCUTNAME assoziiert ist.
Als Text habe ich [ProductName] eingetragen, wie er im Dialog z.b auch fuer den Fenstertitel verwendet wird.
Auch das verbinden mit der CA funktioniert.
Problem: Im AKinstaller sieht das soweit gut aus. Im Eigentlichen Setup jedoch ist das Editfeld initial immer leer, d.h der [ProductName] wird dort nicht angezeigt!
Wenn ich die Eigenschaft manuell anlege (Ueber die Eigenschaften des Projekts) und versuche mit [ProductName] zu initialiseren, dann erscheint im Setup im Editfeld der Text [ProductName] ohne dass er in den eigentlichen Produktnamen gewandelt wird.
?????

In einem Neuen Dialog habe ich nun ein Editfeld, das mit der Eigenschaft SHORTCUTNAME assoziiert ist.
Als Text habe ich [ProductName] eingetragen, wie er im Dialog z.b auch fuer den Fenstertitel verwendet wird.
Auch das verbinden mit der CA funktioniert.
Problem: Im AKinstaller sieht das soweit gut aus. Im Eigentlichen Setup jedoch ist das Editfeld initial immer leer, d.h der [ProductName] wird dort nicht angezeigt!
Wenn ich die Eigenschaft manuell anlege (Ueber die Eigenschaften des Projekts) und versuche mit [ProductName] zu initialiseren, dann erscheint im Setup im Editfeld der Text [ProductName] ohne dass er in den eigentlichen Produktnamen gewandelt wird.
?????
-
- Beiträge: 29
- Registriert: 06.10.2010, 09:52
Re: SHORTCUTDIR in der Installation ändern
Immer besser 
Beim deinstallieren "vergisst" der installer alle beim Installieren gesetzten Eigenschaft. D.h sowohl die Eigenschaft "SHORTCUTNAME", die ja bei der Installation gesetzt wurde, als auch die Eigenschaft "SHORTCUTDIR" sind bei der Deinstallation falsch.
Ich haette gedacht, dass diese Werte "bestand" haben, muss ich die tatsaechlich in der Registry speichern?

Beim deinstallieren "vergisst" der installer alle beim Installieren gesetzten Eigenschaft. D.h sowohl die Eigenschaft "SHORTCUTNAME", die ja bei der Installation gesetzt wurde, als auch die Eigenschaft "SHORTCUTDIR" sind bei der Deinstallation falsch.
Ich haette gedacht, dass diese Werte "bestand" haben, muss ich die tatsaechlich in der Registry speichern?
-
- Beiträge: 29
- Registriert: 06.10.2010, 09:52
Re: SHORTCUTDIR in der Installation ändern
ok, gelernt, ich muss die werte wohl in der Registry speichern
-
- Administrator
- Beiträge: 1092
- Registriert: 29.02.2004, 15:51
- Wohnort: Hamburg
- Kontaktdaten:
Re: SHORTCUTDIR in der Installation ändern
Guten Tag!
Dafür gibt es unter Eigenschaften auch den Punkt Archivieren.
Dafür gibt es unter Eigenschaften auch den Punkt Archivieren.

Mit freundlichen Grüßen,
AKApplications, Andreas Kapust
AKApplications, Andreas Kapust
-
- Beiträge: 29
- Registriert: 06.10.2010, 09:52
Re: SHORTCUTDIR in der Installation ändern
Lt der Online Hilfe hatte ich das archivieren so verstanden dass der Eintrag dann auch nach der deinstallation fuer spaetere andere installationen erhalten bleibt.
Ok, soweit geändert
Trotzdem dass die werte nun archiviert werden ist leider der uninstall nicht in der lage die Startmenu einträge zu löschen. Muss dass nun auch per hand erfolgen?
Ok, soweit geändert
Trotzdem dass die werte nun archiviert werden ist leider der uninstall nicht in der lage die Startmenu einträge zu löschen. Muss dass nun auch per hand erfolgen?
-
- Administrator
- Beiträge: 1092
- Registriert: 29.02.2004, 15:51
- Wohnort: Hamburg
- Kontaktdaten:
Re: SHORTCUTDIR in der Installation ändern
Guten Tag.
Ist damit eine Deinstallation über eine Link aus dem Startmenü gemeint?
Falls ja, dies ist scheinbar ein Bug des Windows Installer ab Version 4.5.
Wird das MSI nicht gleich mit erhöhten Rechten ausgeführt, werden diese Einträge nicht entfernt.
Abhilfe:
-Dateioperationen -> Löschen: Shortcutname.lnk
-Produkt -> Deinstallation = Micro Package Deinstallation
(Deinstall-Link entsprechend anpassen).
Ist damit eine Deinstallation über eine Link aus dem Startmenü gemeint?
Falls ja, dies ist scheinbar ein Bug des Windows Installer ab Version 4.5.
Wird das MSI nicht gleich mit erhöhten Rechten ausgeführt, werden diese Einträge nicht entfernt.
Abhilfe:
-Dateioperationen -> Löschen: Shortcutname.lnk
-Produkt -> Deinstallation = Micro Package Deinstallation
(Deinstall-Link entsprechend anpassen).
Mit freundlichen Grüßen,
AKApplications, Andreas Kapust
AKApplications, Andreas Kapust
-
- Beiträge: 29
- Registriert: 06.10.2010, 09:52
Re: SHORTCUTDIR in der Installation ändern
Ja, es ist eine deinstallation aus dem Startmenu ordner gemeint, aber es funktioniert allgemein nicht
Aber mein window installer version ist 3.01
Anbei ein log des uninstall schrittes
Klar sieht man dass das Property SHORTCUTDIR umgesetzt wird, da der Pfad PROCITEC\... aus der initialiserung stammt.
richtig ist der pfad aus der registry test\...
Ausser ich ordne es noch falsch ein, aber denke es passiert doch in removeShortcuts????
In meinen Menus gibt es kein
-Produkt -> Deinstallation = Micro Package Deinstallation
(Deinstall-Link entsprechend anpassen).
Version 2.6.720
Aber mein window installer version ist 3.01
Anbei ein log des uninstall schrittes
Klar sieht man dass das Property SHORTCUTDIR umgesetzt wird, da der Pfad PROCITEC\... aus der initialiserung stammt.
richtig ist der pfad aus der registry test\...
Ausser ich ordne es noch falsch ein, aber denke es passiert doch in removeShortcuts????
In meinen Menus gibt es kein
-Produkt -> Deinstallation = Micro Package Deinstallation
(Deinstall-Link entsprechend anpassen).
Version 2.6.720
-
- Beiträge: 29
- Registriert: 06.10.2010, 09:52
Re: SHORTCUTDIR in der Installation ändern
und hier die datei
-
- Beiträge: 29
- Registriert: 06.10.2010, 09:52
Re: SHORTCUTDIR in der Installation ändern
Ich habe die Sequenz nun an Position 755 direkt nach den E_01_CA_Set_SHORTCUTDIR etc eingefuegt.
Dann gings. Welche Sequenz enfternt die Startmenueinträge?
Dann gings. Welche Sequenz enfternt die Startmenueinträge?
-
- Administrator
- Beiträge: 1092
- Registriert: 29.02.2004, 15:51
- Wohnort: Hamburg
- Kontaktdaten:
Re: SHORTCUTDIR in der Installation ändern
RemoveShortcuts
-
- Administrator
- Beiträge: 1092
- Registriert: 29.02.2004, 15:51
- Wohnort: Hamburg
- Kontaktdaten:
Re: SHORTCUTDIR in der Installation ändern
Nachtrag:
Mit 2.7.540 gibt es jetzt ein Demo-Projekt (SetShortcutPathDlg.stpm) inkl. der nötigen CA.
Mit 2.7.540 gibt es jetzt ein Demo-Projekt (SetShortcutPathDlg.stpm) inkl. der nötigen CA.
Mit freundlichen Grüßen,
AKApplications, Andreas Kapust
AKApplications, Andreas Kapust