Besser erscheint mir die Umgehung, das zu löschende Programm durch ein wirkungsloses Programm zu ersetzen. Nehmen wir an, das zu löschende Programm heißt hugo.exe. Dann kann man wie folgt vorgehen:
Bei meiner Installation handelt es sich um das umzubenennende Programm
C:\Program Files (x86)\Hewlett-Packard\Shared\HpqToaster.exe
Auf diesen Programmnamen muss man erst einmal kommen!
Als weiteres so zu behandelndes Programm ist mir das Programm gup.exe unterhalb des im Zielverzeichnis des Editors notepad++ unter notepad++/updater/ aufgefallen. Es bewirkte nach einer Wartezeit von jeweils zwei Wochen einmal täglich eine Popup-Meldung beim Aufruf von notepad++. Früher ließ sich der Update von notepad++ abschalten. Das wurde aber so geändert, dass sich der mich nervende Hinweis auf anstehende Updates nicht mehr abschalten ließ.
Das mit dem masm32 erstellte Programm NIX.exe ist 1536 Bytes groß. Wirkungsgleiche .EXE-Programme in FreeBASIC oder in C sind um ein vielfaches größer.
Zum Assemblieren und Linken bietet sich die Stapelverarbeitungsdatei make32.bat-Datei an:
@echo Aufruf: make32.bat file (Quellprogrammname ohne .asm) if exist "%1.obj" del "%1.obj" if exist "%1.exe" del "%1.exe" \masm32\bin\ml /c /coff "%1.asm" if errorlevel 1 goto errasm \masm32\bin\PoLink /SUBSYSTEM:CONSOLE "%1.obj" if errorlevel 1 goto errlink dir "%1.*" goto TheEnd :errlink echo _ echo Link error goto TheEnd :errasm echo _ echo Assembly Error goto TheEnd :TheEndFür den eigenen Gebrauch müssen die Pfadangaben entsprechend angepasst werden. Die Stapelverarbeitungsdatei muss im gleichen Verzeichnis stehen, wie das Quellprogramm! Gestartet wird die Stapelverarbeitungsdatei mit Eingabe von „make32 nix”.
.586 .MODEL flat,stdcall OPTION casemap:none include \masm32\include\windows.inc ; always first include \masm32\macros\macros.asm ; MASM support macros ; ----------------------------------------------------------------- ; include files that have MASM format prototypes for function calls ; ----------------------------------------------------------------- include \masm32\include\masm32.inc include \masm32\include\gdi32.inc include \masm32\include\user32.inc include \masm32\include\kernel32.inc ; ------------------------------------------------ ; Library files that have definitions for function ; exports and tested reliable prebuilt code. ; ------------------------------------------------ includelib \masm32\lib\masm32.lib includelib \masm32\lib\gdi32.lib includelib \masm32\lib\user32.lib includelib \masm32\lib\kernel32.lib .CODE start: ; print "Nix ist was",13,10 exit end start
Die Zeile
print "Nix ist was",13,10ist eine Testhilfe. Sie macht sichtbar, dass das Programm ausgeführt wurde. In der endgültigen Version ist sie auskommentiert, so dass die Ausführung von NIX.exe keinerlei sichtbare Spuren hinterlässt.