
115122
05.03.2014, aktualisiert am 10.03.2014
Inno Setup Prüfe, ob 32 bzw. 64bit und starte jeweilige .exe will nicht funktionieren
Hallo liebe Leute,
denke der Titel ist recht aussagekräftig. Folgend mein Code:
Wenn ich kompilieren möchte, bekomme ich bei in Column 1 den Fehler 'BEGIN' expected angezeigt. Setze ich dann an diese Stelle ein "begin", gibts wieder Fehler.
Ich glaube ich mache bei dem Aufbau der begin - if - then blabla Geschichte irgendwas falsch, aber finde im Internet nichts, was auf meine Problematik passt.
Hoffe jemand weiß weiter und kann mir helfen.
Grüße,
lordzwieback
denke der Titel ist recht aussagekräftig. Folgend mein Code:
[Code]
procedure RunAppInstaller;
var
ResultCode: Integer;
function Is64BitInstallMode: Boolean;
begin
if Is64BitInstallMode then
begin
if not Exec(ExpandConstant('{tmp}\App\appclient64bit.exe'), '', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode)
then
MsgBox('App-Installation ist fehlgeschlagen, wenden Sie sich an den Administrator.' + #13#10 + #13#10 + SysErrorMessage(ResultCode), mbError, MB_OK);
else
begin
if not Exec(ExpandConstant('{tmp}\App\appclient.exe'), '', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode)
then
MsgBox('App-Installation ist fehlgeschlagen, wenden Sie sich an den Administrator.' + #13#10 + #13#10 + SysErrorMessage(ResultCode), mbError, MB_OK);
end
end;
Wenn ich kompilieren möchte, bekomme ich bei
function Is64BitInstallMode: Boolean;
Ich glaube ich mache bei dem Aufbau der begin - if - then blabla Geschichte irgendwas falsch, aber finde im Internet nichts, was auf meine Problematik passt.
Hoffe jemand weiß weiter und kann mir helfen.
Grüße,
lordzwieback
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 231716
Url: https://administrator.de/forum/inno-setup-pruefe-ob-32-bzw-64bit-und-starte-jeweilige-exe-will-nicht-funktionieren-231716.html
Ausgedruckt am: 03.05.2025 um 19:05 Uhr
10 Kommentare
Neuester Kommentar
Hallo,
(einfaches rechnen mt Zahlen
)
Gruß,
Peter
Zitat von @115122:
Wenn ich kompilieren möchte
Ich selbst habe Inno noch nie verwendet, aber ich Zähle bei dir 3 mal beginn aber nur 2 mal end wobei ein end; mit einem Semikolunm abgeschlossen ist. Auswirkung?Wenn ich kompilieren möchte
begin - if - then blabla Geschichte irgendwas falsch, aber finde im Internet nichts, was auf meine Problematik passt.
2+2 <> 5? Gruß,
Peter
Hallo,
; Dient wohl zum Abschluss der Befehlszeile
z.B. if not Exec(ExpandConstant('{tmp}\App\appclient64bit.exe'), '', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode);
Gruß,
Peter
Über Auswirkungen vom Semikolon kann ich dir nichts berichten,
Aber die werden doch schon einen Zweck haben, oder meinst du die sind nur da weil die so schön aussehen?habe mir die Schleifen größtenteils aus Foren abgeschaut.
Das ist der Nachteil von Kopieren. Man hat keinen Plan was man eigentlich tut und versteht noch weinger was da passieren tut.; Dient wohl zum Abschluss der Befehlszeile
z.B. if not Exec(ExpandConstant('{tmp}\App\appclient64bit.exe'), '', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode);
Bekomme mit dem obigen Code den gleichen Fehler wie vorher.
Fehlerbehebung oder ist das für dich auch nur ein Fremdwort?Gruß,
Peter
Tach auch,
also das lässt sich eigentlich auch simpler machen. Schau dir unbedingt mal die 64Bit Beispiele im ScriptStudio an !
und ob eine Anwendung bei 64bit oder 32bit gestartet werden soll kannst du so festlegen:
Grüße Uwe
also das lässt sich eigentlich auch simpler machen. Schau dir unbedingt mal die 64Bit Beispiele im ScriptStudio an !
; "ArchitecturesInstallIn64BitMode=x64 ia64" requests that the install
; be done in "64-bit mode" on x64 & Itanium, meaning it should use the
; native 64-bit Program Files directory and the 64-bit view of the
; registry. On all other architectures it will install in "32-bit mode".
ArchitecturesInstallIn64BitMode=x64 ia64
[Run]
Filename: "{app}\MyProg64.exe"; Flags: 64bit postinstall; Check: IsX64
Filename: "{app}\MyProg.exe"; Flags: 32bit postinstall; Check: IsOtherArch
[Code]
function IsX64: Boolean;
begin
Result := Is64BitInstallMode and (ProcessorArchitecture = paX64);
end;
function IsOtherArch: Boolean;
begin
Result := not IsX64 and not IsIA64;
end;
Das ist Pascal-Code, etwas gewöhnungsbedürftig
, so sollte deine Variante laufen:
und dann noch hinter dein letztes Source File die Procedure für das Ausführen deiner App hinzufügen (im Beispiel wird die Procedure zum Schluss des Setups ausgeführt)
http://www.jrsoftware.org/ishelp/topic_scriptinstall.htm
[Code]
procedure RunAppinstaller;
var
ResultCode: Integer;
begin
if (IsWin64) then
begin
if not Exec(ExpandConstant('{tmp}\App\appclient64bit.exe'), '', '', SW_SHOW, ewWaitUntilTerminated, ResultCode) then
MsgBox('App-Installation ist fehlgeschlagen, wenden Sie sich an den Administrator.' + #13#10 + #13#10 + SysErrorMessage(ResultCode), mbError, MB_OK)
end
else
begin
if not Exec(ExpandConstant('{tmp}\App\appclient.exe'), '', '', SW_SHOW, ewWaitUntilTerminated, ResultCode) then
MsgBox('App-Installation ist fehlgeschlagen, wenden Sie sich an den Administrator.' + #13#10 + #13#10 + SysErrorMessage(ResultCode), mbError, MB_OK)
end
end;
[Files]
Source: "C:\Program Files (x86)\Inno Setup 5\Examples\MyProg.exe"; DestDir: "{app}"; AfterInstall: RunAppInstaller
Wenns das dann war, den Beitrag bitte noch auf gelöst setzen, und die Lösungskommentare markieren. Merci.
Grüße Uwe
Grüße Uwe