Ach das wäre schön einfach gewesen^^
Der kleine Fehler ist mir auch schon aufgefallen nur leider lag es nicht an ihm, ich habe irgendwie die Vermutung das es an der IDYES Abfrage hängt und die nicht richtig läuft.
Das alles abbricht konnte ich korrigieren, da war ein fehler beim InitlializeSetupm aber der ist behoben.
Jetzt ist es egal ob ich Yes oder No anklicke immer so das er mit das Normale Setup einfach startet und ich habe keinen Schimmer mehr warum.
Hier nochmal der aktuelle Code (weiß net mehr ob sich ne Kleinigkeit geändert hat^^)
Delphi-Quellcode:
Result := (SetupMajor > SavedMajor)
or ((SetupMajor = SavedMajor)
and (SetupMinor >= SavedMinor));
if not Result
then
begin
if RegQueryStringValue(
HKLM,'
{#UNINSTKEY}','
InstallLocation',DOSBoxCAE2000Path)
then
begin
result := DirExists(DOSBoxCAE2000Path);
end;
if not Result
then
begin
MsgBox(ExpandConstant('
{cm:DOSBoxPathNotFound}'),mbError,MB_OK);
ResultDOSBoxCAE2000PathCheck := false;
end else
if MsgBox(Format(ExpandConstant('
{cm:NewerAppFound}'),[DecodeVersion(SavedMajor,SavedMinor)]),mbConfirmation,MB_YESNO
or MB_DEFBUTTON2) = IDYES
then
begin
Exec(ExpandConstant('
>'),'
DOSBoxCAE2000Path\unins000.exe','
',SW_SHOW,ewWaitUntilTerminated,ResultCode);
end;
end;
Und im Anhang mein Komplettes Programm.
Ich kenne sonst einfach nur keine Variante mehr zum Abfragen einer Messagebox.