AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Innosetup: Uninstall.exe landet immer im Quellverzeichnis
Thema durchsuchen
Ansicht
Themen-Optionen

Innosetup: Uninstall.exe landet immer im Quellverzeichnis

Ein Thema von Ajin · begonnen am 28. Feb 2007 · letzter Beitrag vom 19. Mär 2007
Antwort Antwort
Seite 1 von 2  1 2      
Ajin

Registriert seit: 23. Feb 2006
Ort: Mons
252 Beiträge
 
Delphi 2010 Professional
 
#1

Innosetup: Uninstall.exe landet immer im Quellverzeichnis

  Alt 28. Feb 2007, 22:13
Hallo Leute!

Ich habe ein simples Innosetup script erstellt. Läuft soweit alles prima, leider gibts da noch einen Haken: Die Uninstall.exe wird immer dem Quellverzeichnis erstellt. Wenn ich mein Setup vom USB-Stick installiere, ist das Programm zwar im c:\Programme Ordner nur die uninstall bleibt auf dem stick. Die Onlinehilfe hat mich nicht unbedingt weiter gebracht.

Delphi-Quellcode:
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

[Setup]
AppName=MeinProgramm
AppVerName=MeinProgramm xperimental Beta
DefaultDirName=MeinProgramm
DisableDirPage=yes
DefaultGroupName=MeinProgramm
DisableProgramGroupPage=yes
OutputDir=C:\Users\Jx\Desktop\Inno
OutputBaseFilename=MeinProgramm
Compression=lzma
SolidCompression=yes
WizardImageFile=C:\Users\Jx\Desktop\Inno\kfbig.bmp
WizardSmallImageFile=C:\Users\Jx\Desktop\Inno\kfs.bmp

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
Name: "german"; MessagesFile: "compiler:Languages\German.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

[Files]
Source: "C:\Users\Jaimy\Desktop\KF_source\*"; DestDir: "{sd}\Programme\MeinProgramm"; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Name: "{group}\MeinProgramm"; Workingdir: "{sd}\Programme\MeinProgramm"; Filename: "{sd}\Programme\MeinProgramm\MeinProgramm.exe"
Name: "{group}\{cm:UninstallProgram,MeinProgramm}"; Filename: "{uninstallexe}"
Name: "{userdesktop}\MeinProgramm"; Filename: "{sd}\Programme\MeinProgramm\MeinProgramm.exe"; Workingdir: "{sd}\Programme\MeinProgramm"; Tasks: desktopicon
[edit=Luckie]Original Programmname entfernt. Mfg, Luckie[/edit]
  Mit Zitat antworten Zitat
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Innosetup: Uninstall.exe landet immer im Quellverzeichni

  Alt 28. Feb 2007, 22:45
Zitat von Ajin:
Name: "{group}\{cm:UninstallProgram,KF_Agent}"; Filename: "{uninstallexe}"
Ohne irgendeine Ahnung von dem zu haben was Du machst, fällt mir auf, daß dieser Eintrag der einzige in der ganzen Datei ohne Pfadangabe ist.
Versuch doch mal
Zitat:
"{group}\{cm:UninstallProgram,KF_Agent}"; Filename:"{{sd}\Programme\KF_Agent\{uninstallexe}} "
oder etwas Ähnliches. Und in [Files] kannst Du vielleicht auch noch einen Eintrag platzieren, falls die Uninstall.exe nicht im selben Verzeichnis erstellt wird wie Dein Programm.

Grüße, Messie
  Mit Zitat antworten Zitat
Ajin

Registriert seit: 23. Feb 2006
Ort: Mons
252 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Innosetup: Uninstall.exe landet immer im Quellverzeichni

  Alt 1. Mär 2007, 08:37
Hallo!

Ja das habe ich auch probiert...ohne Erfolg. irgendwie muss es ein keyword geben welches den Pfad für die uninstall festlegt. Es ist zum Mäusemelken.
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#4

Re: Innosetup: Uninstall.exe landet immer im Quellverzeichni

  Alt 1. Mär 2007, 08:58
Zitat von messie:
Ohne irgendeine Ahnung von dem zu haben was Du machst, [...]
Hättest du besser haben sollen, dann hättest du gewusst, dass die Konstante {uninstallexe} den Dateinamen und Pfad des Uninstallers enthält (spezielle Pfadangaben sind also unnötig), und dass die Sektion [Icons] nur für die Erstellung der Shortcuts zuständig ist und nichts mit dem Kopieren oder Erzeugen der Dateien zu tun hat.


@Ajin: Ist das dein ganzes Skript, oder hast du (unabsichtlich) etwas unterschlagen. Ich sehe nämlich so keinen wirklichen Grund, warum der Uninstaller auf dem Stick bleibt, während die anderen Dateien ohne Probleme kopiert werden.
  Mit Zitat antworten Zitat
Ajin

Registriert seit: 23. Feb 2006
Ort: Mons
252 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Innosetup: Uninstall.exe landet immer im Quellverzeichni

  Alt 1. Mär 2007, 09:28
Das ist das komplette script. Ich hab das Verhalten mal beobachtet. Die UnINstall Informationen werden immer hier abgelegt:

OutputDir=C:\Users\Jaimy\Desktop\Inno

Ich dachte dieser Pfad bestimmt nur den output des kompilierten Setups, wieso das script meine Uninstall.exe sowieo den Link auf diesen output Pfad verweist ist fraglich.
  Mit Zitat antworten Zitat
Ajin

Registriert seit: 23. Feb 2006
Ort: Mons
252 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Innosetup: Uninstall.exe landet immer im Quellverzeichni

  Alt 19. Mär 2007, 08:54
nach 2 Wochen mal *push*
Ich finde keine Erklärung für dieses Verhalten. Hat jemand von euch intensivere Erfahrungen mit Innosetup gemacht?
  Mit Zitat antworten Zitat
IngoD7

Registriert seit: 17. Feb 2004
464 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Innosetup: Uninstall.exe landet immer im Quellverzeichni

  Alt 19. Mär 2007, 10:00
Ich habe in der Section [SetUp] noch nie ein OutputDir= benutzt. Ich benutzte aber sehr wohl ein UninstallFilesDir=.

Um durch Inno durchzusteigen, darf/sollte/muss man sich in der Hilfe wirklich jede Einstellungsmöglichkeit durchlesen (und möglichst verstehen).
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#8

Re: Innosetup: Uninstall.exe landet immer im Quellverzeichni

  Alt 19. Mär 2007, 10:28
Kleiner Ursache, große Wirkung.
Zitat von Ajin:
Code:
[Setup]
DefaultDirName=KF_Agent
Ich hab es auch übersehen, wie ich zugebe , aber hier fehlt schlicht der gewünschte Zielordner. Es sollte so aussehen:
Code:
[Setup]
DefaultDirName=[color=red]{pf}\[/color]KF_Agent
{pf} steht für den "Programme"-Ordner. Fehlt diese Angabe, wird das Verzeichnis "KF_Agent" für den Uninstaller natürlich im aktuellen Verzeichnis erzeugt (meist das, in dem das Setup liegt, weil man selbiges vorher im Explorer auswählt). Dass die anderen Dateien korrekt kopiert werden, liegt daran, dass das Ziel in der [Files]-Sektion angegeben wird:
Zitat:
Code:
[Files]
Source: "C:\Users\Jaimy\Desktop\KF_source\*"; DestDir: "[color=red][b]{sd}\Programme\[/b]KF_Agent[/color]"; ...
Vielleicht noch mal über den fett markierten Teil nachdenken und anstelle von "{sd}\Programme" doch lieber {pf} benutzen. Aber das nur nebenbei.
  Mit Zitat antworten Zitat
Ajin

Registriert seit: 23. Feb 2006
Ort: Mons
252 Beiträge
 
Delphi 2010 Professional
 
#9

Re: Innosetup: Uninstall.exe landet immer im Quellverzeichni

  Alt 19. Mär 2007, 11:06
Ahh Danke!

Delphi-Quellcode:
[Setup]
DefaultDirName=C:\KF_Agent
war des Rätsels Lösung! Diese Konstanten {sd} oder {pf} kann ich nicht nutzen da das Tool auch unter Vista laufen soll. Die Ordnerstruktur ist da bissel anders gelöst.

Aber vielen Dank für den super Tip!
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#10

Re: Innosetup: Uninstall.exe landet immer im Quellverzeichni

  Alt 19. Mär 2007, 13:48
Zitat von Ajin:
Diese Konstanten {sd} oder {pf} kann ich nicht nutzen da das Tool auch unter Vista laufen soll. Die Ordnerstruktur ist da bissel anders gelöst.
Das taugt als Ausrede, nicht aber als Begründung. Die Ordnernamen sind einfach nur Englisch und werden im System (halbherzig) übersetzt. Ob dein Programm nun in "C:\Programme" oder "C:\Program Files" landet, spielt keine Rolle ... es sei denn, du nutzt im Programm feste Pfadangaben, und dann kann da weder Inno Setup noch Vista etwas dafür.

Nebeneffekt deiner "Lösung": Unter einem englischen Windows XP wird ein deutscher "Programme"-Ordner angelegt. Dieses Verhalten kennt man so nur von uralten englischen Setups, die partout auf einem deutschen Windows einen "Program Files"-Ordner erzeugt haben. Gibt es einen Grund, dieses Unverhalten wiederzubeleben?

btw, (Edit #2), dein gezeigtes Skript würde damit unter Vista ebenfalls den Ordner "Programme" erzeugen, den es eigentlich gar nicht gibt. Die Aussage von oben führst du damit also selbst ad absurdum.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 03:47 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