Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

11

27.08.2017, 12:46

Es ist natürlich nicht schön, dass ein Registry-Eintrag zurückbleibt, wenn man das Programm löscht (und davon muss man ja jederzeit ausgehen, wenn es sich um ein „portables“ Programm handelt, das nicht mittels Installer installiert wurde). Evtl. könnte der Run-Eintrag eine Prüfung durchführen, ob das Programm noch vorhanden ist, und wenn nicht, dann wird der Registry-Eintrag gelöscht. Also: Benutzer löscht das Programm, und beim nächsten Systemstart verschwindet der Registry-Eintrag wie von Geisterhand.

12

27.08.2017, 13:03

Weiß nicht, ob du meinen letzten Post gelesen hast, David.
Die Anwendung gehört zu einem Sicherheitssystem (Hardware), welches erfahrungsgemäß langfristig im Einsatz bleibt.
Also eher unwahrscheinlich, dass das Programm so einfach gelöscht wird.
Ansonsten wird wie gesagt ein Cleanup-Utility mitgeliefert.

Werde mal ausprobieren, was mit dem Autostarteintrag passiert, wenn sich die Exe nicht mehr an dem angegebenen Ort befindet. ;)

Edit: Eintrag wird nicht gelöscht (Windows 10 hier im Einsatz)
fka tm

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Michael« (27.08.2017, 13:16)


David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

13

27.08.2017, 14:08

Ja, habe ich gelesen. Schön ist es trotzdem nicht! ;)
Dein Run-Eintrag könnte z. B. so oder so ähnlich aussehen:

CMD /C "IF EXIST [Pfad zu deinem Programm] ( [Pfad zu deinem Programm] ) ELSE ( REG DELETE [Registry-Key] )"

Wenn das Programm noch an seinem Ort ist, wird es gestartet. Andernfalls wird der Registry-Schlüssel gelöscht.
Kostet nichts und ist sauberer als extra ein Aufräumprogramm starten zu müssen.

14

27.08.2017, 14:53

Danke David!

Denke, dass ich auf solche Alternativen zurückgreifen muss.
(oder den Auftraggeber von den Vorzügen eines Installers überzeugen)

Habe das inzwischen mal mit LoadLibrary und Gedöns probiert. Geht auch nicht.
Nette Fingerübung, aber Avira lässt sich so einfach nicht austricksen. :S
Siehe Konfiguration:

fka tm

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

15

27.08.2017, 18:27

Hm hm. Aber bei einem Installer meckert Avira nicht? kA nach welchem Muster Avira genau schaut, aber ggf "merkt" es, dass automatisch ein eintrag angelegt werden soll? Was passiert, wenn du es z.B. an einem Button bindest? Sprich ein "aktiviere Autorun". Vmtl wird das auch nichts bringen, aber viel Alternativen gibt es glaube ich nicht mehr. Zumindest fällt mir neben Autorun Ordner und Run Eintrag wenig ein. Du könntest das Programm vlleicht noch als Dienst registieren. Sprich das es sich als Dienst installiert und damit Programm und "installer" in einem ist.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

16

27.08.2017, 19:32

Auch wenn es keine schöne Lösung ist könntest du den Eintrag per Batch-File machen und von deinem Programm nur das Skript aufrufen. Kann natürlich sein dass Antivir da auch anschlägt.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

17

27.08.2017, 19:32

Kleines Feature, vieeel Aufwand. :(
Aktuell ist es eine Checkbox-Option im Einstellungen-Dialog.
Wird "Speichern" geklickt, geht das Theater los. Ebenso als Konsolenanwendung oä.
Blöd nur, dass mir das erst beim Wechsel zur Release-Version aufgefallen ist.
(blöd auch, dass ich mich an manchen Problemen gern mal wie ein Terrier verbeiße, bis 'ne Lösung da ist)
Wuff!
fka tm

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

18

27.08.2017, 19:48

Du könntest natürlich auch mal schauen ab welcher Optimierung das Problem genau auftritt. Ggf kannst du ja zwischen Debug und Release eine Einstellung finden, die dem ganzen gerecht wird. Weil z.b. brauchst du ja jetzt nicht volle Leistung für ein einfaches "Werte checken und ggf was anzeigen" tool.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

19

27.08.2017, 20:03

Wär vielleicht einen Versuch wert.

Könnte auch zur Laufzeit eine Reg-Datei generieren, die der Benutzer dann separat ausführen kann.
Aber kann man das jemanden zumuten? :S

Spaßeshalber hab ich grad noch ein wenig mit ShellExecute rumexperimentiert...
(und wieder was auf die Finger gekriegt) ;)
fka tm

20

28.08.2017, 15:10

So, Feature gestrichen, Problem erledigt.

Trotzdem wurmt es mich, weil ich vermute, dass es eine Lösung für das Problem geben könnte.
Ähnliches Gefühl wie bei einem Cliffhanger... :)
fka tm

Werbeanzeige