Jak usunąć plik exe po jego zamknieciu?

0

Jak usunąć plik exe zaraz po jego zamknieciu?? (chodzi o to zeby po zakonczeniu deinstalacji deinstalator tez sie ort!)

0

Programem stwórz plik bat o treści:

del program.exe
del plik.bat

Potem go odpal. Może to sposób "na około", ale po co utrudniać sobie życie.

0

dobry pomysl WIELKIE DZIEKI
tylko jeszcze jefno male pytanie jak go odpalic tz tego bat)

0
mswdkg napisał(a)

dobry pomysl WIELKIE DZIEKI
tylko jeszcze jefno male pytanie jak go odpalic tz tego bat)

ShellExecute / WinExec

w tym bacie daj pętle bo od razu nie usunie:

@echo off
:jeszczeraz
del %1 >nul
if exist %1 goto jeszczeraz
del %0 >nul

a w programie

uses ShellApi;

ShellExecute(Handle, 'open', 'bacik.bat', PChar(ExtractShortPathName(Application.ExeName)), nil, SW_HIDE);

ale bardziej profesjonalne wyjście - skasowanie po reboocie kompa masz w FAQu - bo to to jest parodia

0

Dzieki z POMOC [browar]

0

OMG!
Tu masz prawidłowe rozwiązanie:
http://4programmers.net/Delphi/FAQ/Autodestrukcyjny_program...

0
Qyon napisał(a)

OMG!
Tu masz prawidłowe rozwiązanie:
http://4programmers.net/Delphi/FAQ/Autodestrukcyjny_program...

On pytał jak usunąć program zaraz po jego zakńczeniu a nie po restarcie systemu :P

0

Kasowanie programu po reboocie czy po zakończeniu działania deinstalatora nie robi tu różnicy !!

0
Adamo napisał(a)

ale bardziej profesjonalne wyjście - skasowanie po reboocie kompa masz w FAQu - bo to to jest parodia

Cóż czyni je bardziej profesjonalnym? Program sam podczas pracy usunąć się nie może, więc albo usunie go inny program, albo sam system.. inny program tu odpada.

Czyż pliki bat nie stanowią elementu systemu? Przecież wymaganie restartowania komputera jest niewygodne dla użytkowników, więc o ile to możliwe należy go unikać.

Pokazany przeze mnie sposób jest:

  • prosty i szybki
  • nie wymaga restartu
  • wykorzystuje system wcale nie "dziwniej" niż obsługa przy restarcie
0

Na mocno "zamulonym" systemie Twój .bat nie zadziała...
Poza tym, zawsze należy stosować eleganckie rozwiązanie, jeśli jest ono prostsze!

0

Mój bat był tylko przykładem - Adamowa wersja na zamulonym zadziała.. Wciąż nie rozumiem tutaj kontekstu słowa 'eleganckie'. Co jest wyznacznikiem 'elegancji'? Czy to, że jak będzie to załóżmy deinstalator prostego edytora tekstu, to będzie wymagał restartu? Wydaje mi się to bynajmniej nie przemyślane, jeśli nie głupie.

0

Moim zdaniem sposób 'elegancki' to sposób niezawodny i możliwie najwygodniejszy dla użytkownika. Skoro pliczek bat, uruchomiony jako niewidoczny, bez wiedzy uzytkownika zrobi wszystko jak należy, to chyba nie ma sensu strzelać reboota :>

0
Qyon napisał(a)

Na mocno "zamulonym" systemie Twój .bat nie zadziała...
Poza tym, zawsze należy stosować eleganckie rozwiązanie, jeśli jest ono prostsze!

szukałem teraz na sieci i okazuje się że bacik jest wykorzystywany w dużej ilości deinstalatorów / ba nawet instalatorów do rejestrowania bibliotek np, baty nie mają dużych wymagań, mi się jeszcze nie zdarzyło żeby mi się bat nie odpalił, za to np notatnik - tak. I podobno wpis w rejestrze o zmianie nazwy pliku przy reboocie - w tym przypadku wysłania do nulla - jest nie wiadomo czemu często ignorowany przez system po dłuższym używaniu, tj. jak się od razu zrestartuje to wszystko będzie cacy, ale jak jeszcze komp pochodzi parę godzinek będąć wykorzystywanym to nagle system czasami zapomina co miał zrobić :-| Z tego całkiem wychodzi że z braku innego prostego wyjścia jednak bat jest tu najbardziej eleganckim wyjściem

co innego jak ten bat zapiszesz w root C:\ to wtedy będzie głupio wyglądać a tak to spoko, nikt nie zobaczy ;) Cel uświęca środki

0

Stara wskazowka na ten temat: Jak usunąć program po jego zamknięciu

1 użytkowników online, w tym zalogowanych: 0, gości: 1