---
title: "Pascal scripting - köra exe"
type: "forum-thread"
url: "https://www.webforum.nu/amne/programmering/103253-pascal-scripting-köra-exe"
topic: "Programmering"
topic_url: "https://www.webforum.nu/amne/programmering"
author: "clarkbones"
published: "2004-05-09T13:09:40.000Z"
updated: "2004-05-11T19:57:00.000Z"
replies: 3
views: 429
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/programmering/103253-pascal-scripting-köra-exe"
---

# Pascal scripting - köra exe

## #1 — clarkbones, 2004-05-09T13:09Z

Vet inte om detta är rätt forum, men Pascal är väl besläktat med Delphi?

Hursomhelst, jag håller på att skapa ett installationsprogram m h a programmet InnoSetup som använder  Pascal Scripting. Nu undrar jag hur man kan köra en exe i Pascal scripting?

(Det finns visserligen en RUN section i Innosetup, men jag behöver testa om vissa program redan finns på datorn innan jag bestämmer om exe:n ska köras)

Permalänk: https://www.webforum.nu/p/103253

## #2 — PeW, 2004-05-09T18:54Z

Visst är Delphi besläktat med pascal, ungefär som C++ är besläktat med C.  Så det är nog rätt forum och jag låter tråden ligga kvar  :)

\*Jag har dock tyvärr inget svar på din fråga, men det finns gott om kompetenta personer här, så någon sitter säkert med ett svar.

Permalänk: https://www.webforum.nu/p/1343671

## #3 — Tigermannen, 2004-05-10T07:24Z

så här:

Hej,hittade följande exempel på <https://www.innosetup.com> (FAQ), vilket väl är ungefär det du vill göra:

COMCTL32.DLL
If your application requires an updated version of COMCTL32.DLL, you can direct your users to download the COMCTL32 update from Microsoft, or call the COMCTL32 update from your installation by using the following lines:

\[Files\]
Source: "50comupd.exe"; DestDir: "{tmp}"

\[Code\]
function ShouldInstallComCtlUpdate: Boolean;
var
  MS, LS: Cardinal;
begin
  // Only install if the existing comctl32.dll is \< 5.80
  Result := False;
  if GetVersionNumbers(ExpandConstant('{sys}\\comctl32.dll'), MS, LS) then
    if MS \< $00050050 then
      Result := True;
end;

\[Run\]
Filename: "{tmp}\\50comupd.exe"; Parameters: "/r:n /q:1"; Check: ShouldInstallComCtlUpdate 

Don't try to install COMCTL32.DLL directly using the \[Files\] section; Microsoft does not allow this, and it's dangerous.

mvh Tony

Permalänk: https://www.webforum.nu/p/1343839

## #4 — clarkbones, 2004-05-11T19:57Z

Jag tittade på Check-funktionen, men jag löste det på ett annat sätt, innan du hann svara. Tack för hjälpen i a f. Din lösning är nog snyggare än min...

```
[Run]
Filename: {tmp}\{code:CheckForMDAC}; WorkingDir: {tmp}; Flags: skipifdoesntexist

function CheckForMDAC(Default: String): string;
var
sMDACversion: string;

begin
      blnSuccess:=RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\DataAccess', 'FullInstallver', sMDACversion)
      //MsgBox('sMDACversion', mbinformation, MB_OK)
      if blnSuccess=true then begin
		 // MsgBox(sMDACversion, mbinformation, MB_OK)

				sMDACversion:=StrGet(sMDACversion, 3);

				if StrToInt(sMDACversion)<6 then begin
				sMess:='Microsoft Data Access Components kommer nu att installeras. '
				MsgBox(sMess, mbinformation, MB_OK)
					Result:='MDAC_2.7.EXE'
				end;
      end;
end;
```

Permalänk: https://www.webforum.nu/p/1344639

---

Tråden på webben: https://www.webforum.nu/amne/programmering/103253-pascal-scripting-köra-exe
