AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Inno-Setup, Desktop-Icon dynamisch erstellen
Thema durchsuchen
Ansicht
Themen-Optionen

Inno-Setup, Desktop-Icon dynamisch erstellen

Ein Thema von hoika · begonnen am 30. Jul 2010 · letzter Beitrag vom 30. Jul 2010
Antwort Antwort
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#1

Inno-Setup, Desktop-Icon dynamisch erstellen

  Alt 30. Jul 2010, 11:40
Hallo, #,

Ich möchte das "Desktop-Icon" erstellen dynamisch machen,
je nach einem gesetzten Reg-Eintrag.

Das folgende Bsp geht schon mal nicht.

Zitat:
[Code]
function GetCheckedFlag: Integer;
begin
Result:= 0; // checkedonce ??
end;

[Tasks]
;Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: checkedonce; Languages:
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: {code: GetCheckedFlag}; Languages:
Wie bekomme ich das hin ?
Geht das überhaupt ?


Danke


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von DelphiBandit
DelphiBandit

Registriert seit: 19. Feb 2007
Ort: In der Lüneburger Heide
165 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Inno-Setup, Desktop-Icon dynamisch erstellen

  Alt 30. Jul 2010, 14:41
Die Funktion zur Prüfung muß wohl einen Boolean zurückliefern.

Habe mir mit IsTool, welches übrigens viel übersichtlicher als InnoScripts direkt zu bearbeiten, mal gerade unser Setup überarbeitet. Diese Version lässt sich durchkompilieren und sobald 0001 in der Registry drinsteht wird das Icon nicht mehr mit installiert. Habs kurz getestet. Zeigt auch gleich wie man an den Registry-Wert drankommt. Hoffe ich habe Deine Frage richtig verstanden

Delphi-Quellcode:
[Icons]
Name: {group}\Handbuch; Filename: {app}\Handbuch.pdf; WorkingDir: {app}; IconFilename: {app}\Handbuch.ico; IconIndex: 0; Check: ShouldInstallIcon

[Code]
function ShouldInstallIcon: Boolean;
var succ: boolean;
    rval: dword;
begin
  // Ist erstmal gewünscht
  Result := True;

  if RegKeyExists(HKEY_CURRENT_USER, 'Software\MyApp') then
  begin
    // rval = 1 - wurde bereits schon mal installiert
    if RegQueryDWordValue(HKEY_CURRENT_USER, 'Software\MyApp\', 'Icon', rval) and
       (rval = 1) then
      Result := False;
  end;
end;
Gruß
Carsten

Geändert von DelphiBandit (30. Jul 2010 um 14:43 Uhr)
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Inno-Setup, Desktop-Icon dynamisch erstellen

  Alt 30. Jul 2010, 15:50
Hallo,

ja hast du
hab es mittlerweise so gemacht.

Komischerweise steht bei [Icons] dein Check nicht in der Hilfe.

Zitat:
Delphi-Quellcode:
{ neue Seite }
procedure CurPageChanged(PageID: Integer);
var
  sValue: String;
begin
  if PageID=wpSelectTasks then
  begin
   { ist der Pfad-Eintrag vorhanden, gehen wir davon aus,
    dass der Elefant installiert ist und deaktivieren die CheckBox "Desktop-Icon erstellen"
    ansonsten wir er aktiviert
     Standard ist "deaktiviert", wird deaktivieren das aber trotzdem }

    if RegQueryStringValue(HKCU, 'Software\MySoftwaret', 'Path', sValue) then
    begin
      WizardForm.TasksList.Checked[1]:= False;
    end
    else
    begin
      WizardForm.TasksList.Checked[1]:= True;
    end;
  end;
end;

[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
Aber mit deinem Check ist das noch flexibler, weil jedes Iocn angesprochen werden kann.

Danke

*Ausdruck und fürs nächste Mal merk*


Heiko
Heiko

Geändert von mkinzler (30. Jul 2010 um 15:54 Uhr) Grund: Code-Tag gefixt und durch Delphi-Tag ersetzt
  Mit Zitat antworten Zitat
Benutzerbild von DelphiBandit
DelphiBandit

Registriert seit: 19. Feb 2007
Ort: In der Lüneburger Heide
165 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Inno-Setup, Desktop-Icon dynamisch erstellen

  Alt 30. Jul 2010, 16:43
Komischerweise steht bei [Icons] dein Check nicht in der Hilfe.
Sozusagen ein undocumented feature. Das ist mir aber gar nicht aufgefallen.

Hab beim Drüberschauen im IsTool bei Icons eine Combobox "Scripting/Check" gefunden. Die bot mir schon alle Funktionen mit Result boolean an. Eben eine neue kodiert und geschaut was im fertigen Script dabei raus kommt und Dir rauskopiert.
Carsten
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Inno-Setup, Desktop-Icon dynamisch erstellen

  Alt 30. Jul 2010, 17:31
Hallo,

also ich finde keine ComboBox (ISTool 5.3.0.1).

OK,

"Scriptsprache - Überprüfung" ...


Heiko
Heiko
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz