installer erstellt, nur wie mache ich einen uninstaller und verküpfungen ?

  • hiho,
    ich hab meinen installer so weit fertig, das er alles alle meine dateien in eine verzeichnis installiert...etc.
    nur frage ich mich, wie erstelle ich jetzt die verknüpfungen z.B. auf dem desktop/startmenü.
    weiterhin würde ich gerne wissen wie man das ganze entspechend deinstalliert bekommen kann über den
    windows uninstaller.... danke für die tipps :D

  • Also eine Verknüpfung erstellt man mit

    [autoit]

    FileCreateShortcut ( "file", "lnk" [, "workdir" [, "args" [, "desc" [, "icon" [, "hotkey" [, icon number [, state]]]]]]] )

    [/autoit]

    Um einen Deinstaller zu schreiben brauchst du eig nur FileDelete etc, aber um es in die Deinstalleranzeige von Windows zu bekommen musst du den Deinstaller-Path, so weit ich weiß, bei der Installation in die Registry eintragen.

    mfg BB

    "IF YOU'RE GOING TO KILL IT
    OPEN SOURCE IT!"

    by Phillip Torrone

    Zitat von Shoutbox

    [Heute, 11:16] Andy: ....böseböseböseböse....da erinnere ich mich daran, dass man den Puschelschwanz eines KaRnickels auch "Blume" nennt....ob da eins zum anderen passt? :rofl: :rofl: :rofl: :rofl:

    https://autoit.de/index.php?page…leIt#post251138

    Neon Snake

  • ja, bis dahin auch kein problem ... nur wer löscht den uninstaller aus dem verzeichnis? :P
    - wo in die reg muss was genau eingetragen werden ?
    - wie erstelle ich die verknüpfungen auf dem desktop und im win startmenü ?

  • Hab dashier grade gefunden, könnte dich interessieren: http://msdn.microsoft.com/en-us/library/…5(v=vs.85).aspx

    Und den Uninstaller löscht der Uninstaller ;)

    Zitat

    - wie erstelle ich die verknüpfungen auf dem desktop und im win startmenü ?

    [autoit]

    FileCreateShortcut("DeineDatei.exe", @DesktopDir & "\Verknüpfung.lnk") ;; Erstellt auf dem Desktop
    FileCreateShortcut("DeineDatei.exe", @WindowsDir & "\Verknüpfung.lnk") ;; Erstellt im Windows-Ordner

    [/autoit]

    mfg BB

    "IF YOU'RE GOING TO KILL IT
    OPEN SOURCE IT!"

    by Phillip Torrone

    Zitat von Shoutbox

    [Heute, 11:16] Andy: ....böseböseböseböse....da erinnere ich mich daran, dass man den Puschelschwanz eines KaRnickels auch "Blume" nennt....ob da eins zum anderen passt? :rofl: :rofl: :rofl: :rofl:

    https://autoit.de/index.php?page…leIt#post251138

    Neon Snake

  • danke mein guter !!! .... damit ist das link-problem vom tisch.
    verbleibt noch das deinstallations problem.... ich könnte natürlich eine exe schreiben die dann zumindest die dateien löscht, aber bei den verknüpfungen wirds unter umständen schon tricky... unlösbar erscheint mir eine sich selbst löschende exe--- zumindest in autoit... in C++ hab ich mal entsprechende routinen gesehen.

  • Moin, wo ist denn dein Problem? schreib dir einen RegContainer für dein Programm wo die Pfade hinterlegt werden.. mach dir ne uninst.exe die die Pfade ausliest und das Programm löscht und sich schlussendlich selber entfernt .. fertig ..
    Gruß Marvin

    • Offizieller Beitrag

    In SciTE selfdelete eingeben, ergibt:

    [autoit]

    Func _SelfDelete($iDelay = 0)
    Local $sCmdFile
    FileDelete(@TempDir & "\scratch.bat")
    $sCmdFile = 'ping -n ' & $iDelay & '127.0.0.1 > nul' & @CRLF _
    & ':loop' & @CRLF _
    & 'del "' & @ScriptFullPath & '" > nul' & @CRLF _
    & 'if exist "' & @ScriptFullPath & '" goto loop' & @CRLF _
    & 'del ' & @TempDir & '\scratch.bat'
    FileWrite(@TempDir & "\scratch.bat", $sCmdFile)
    Run(@TempDir & "\scratch.bat", @TempDir, @SW_HIDE)
    EndFunc

    [/autoit]
  • komisch, ich dachte schon, dass ich diesbezüglich eine antwort gegeben habe ... wo ist sie denn nur hin ?
    also batch ... ja batch :( neee iiiihhh :)
    ich habs inzwischen so gelöst:
    reg schlüssel mit install dir wird beim installieren durch installer gesetzt.
    beim erneuten starten des installers wird dann geprüft und selbiger fungiert als deinstaller.

    habt dank für eure mühen ....

    PS: was macht das eigentlich unter "Skripte" ? Bitte in "hilfe" verschieben!

    Einmal editiert, zuletzt von WhiteLion (15. Februar 2012 um 15:29)

  • danke, die methode von dieter ist großartig :D
    progandy ... die methoden aus dem artikel sind recht aufschlussreich, richten sich aber nur an win95 - XP user ... also etwas altbacken das ganze, aber wenigstens ein guter C snippet drin ... mal testen :) thx

  • danke, die methode von dieter ist großartig :D
    progandy ... die methoden aus dem artikel sind recht aufschlussreich, richten sich aber nur an win95 - XP user ... also etwas altbacken das ganze, aber wenigstens ein guter C snippet drin ... mal testen :) thx


    Die Methoden richten sich an alle Windows-Versionen, es sind einfach alle bekannten aufgelistet. Manche gehen nur auf 95, andere auf NT und 2000 wieder andere erst ab XP, andere immer usw. Der Aufruf von @ComSpec wird auch abgedeckt, wenn auch ohne ping-Pause.