cancel
Showing results for 
Search instead for 
Did you mean: 

SAPVER.exe where to download.

Former Member
0 Kudos

Hello,

I want to update all my clients with the SAP INSTALL SERVER.

Patchlevel 17 is integrated and the installation works fine (logonscript which runs the setup)

Before I start the setup I want to check if the client has already the level 17 so the setup will not start.

"everybody" is telling in several forums that there is the tool SAPVER to find after creating an account at SAP homepage.

I hope I am right here - extra for this I created this account.

526199 is the note---where to find? can someone give me a direct link for SAPVER?

thanks a lot,

Christian.

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

solved by my own

Former Member
0 Kudos

Ok I got SAPVER.exe from my colleagues in Madrid.

But unfortunately this is obsolete. At Win7 it is crashing.

So I made a self made solution with Delphi 7.

Source code (if anyone has the same problem like me 😞

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

// Function get the version of an exe-file

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

function GetFileVersion(const FileName: String): String;

var

VersionInfoSize, VersionInfoValueSize, Zero: DWord;

VersionInfo, VersionInfoValue: Pointer;

begin

{ Ist Datei nicht vorhanden, dann Hinweis und raus aus Funktion ...}

if not FileExists(FileName) then

begin

Result := 'File not found'; { alternativ auch 'File not found' oder sonstwas }

Exit;

end;

{ sonnst weiter. }

Result := '';

VersionInfoSize := GetFileVersionInfoSize(PChar(FileName), Zero);

if VersionInfoSize = 0 then Exit;

{ Bei nicht genug Speicher wird EOutOfMemory-Exception ausgelöst }

GetMem(VersionInfo, VersionInfoSize);

try

if GetFileVersionInfo(PChar(FileName), 0, VersionInfoSize, VersionInfo) and

VerQueryValue(VersionInfo, '' { root block }, VersionInfoValue,

VersionInfoValueSize) and (0 <> LongInt(VersionInfoValueSize)) then

begin

with TVSFixedFileInfo(VersionInfoValue^) do

begin

Result := IntToStr(HiWord(dwFileVersionMS));

Result := Result + '.' + IntToStr(LoWord(dwFileVersionMS));

Result := Result + '.' + IntToStr(HiWord(dwFileVersionLS));

Result := Result + '.' + IntToStr(LoWord(dwFileVersionLS));

end;

end;

finally

FreeMem(VersionInfo);

end;

end;

{$R *.dfm}

// gets the program path (C:Programs, C:programs (x86))

function GetProgramPath: string;

const

CSIDL_PROGRAM_FILES = $26;

var

p: PItemIDLIst;

Buf: array of Char;

ShellH: IMalloc;

begin

if SHGetSpecialFolderLocation(Application.Handle, CSIDL_PROGRAM_FILES, p) = NOERROR then

try

if SHGetPathFromIDList(p, Buf) then

Result := Buf;

finally

if SHGetMalloc(ShellH) = NOERROR then

ShellH.Free(P);

end;

end;

procedure TForm1.FormCreate(Sender: TObject);

var dateiinfos:string; /string for put in the version information

stelle:integer; /only an integer for putting in the position of the patch lever information in u201Cdateiinfou201D - string

begin

if FileExists(GetProgramPath+'SAPFrontEndSAPguiSAPgui.exe')

then

begin

dateiinfos:=GetFileVersion(GetProgramPath+'SAPFrontEndSAPguiSAPgui.exe');

//it is looking for a u201C.u201D

stelle:=pos('.',dateiinfos);

dateiinfos:=copy(dateiinfos,stelle+1,length(dateiinfos));

//it is looking again for a u201E.u201C

stelle:=pos('.',dateiinfos);

if copy(dateiinfos,0,stelle-1)<> '17' then

begin

//if it is not the actual version it starts a batch file on my SAP INSTALL SERVER

ShellExecute(self.handle, 'OPEN', 'test.bat', '', '', SW_ShowNormal);

end;

end

else ShowMessage(GetProgramPath'SAPFrontEndSAPguiSAPgui.exe'' Hier stimmt etwas nicht, bitte bei Christian melden.');

application.Terminate;

end;

Former Member
0 Kudos

damn it looks realy bad...