|
#1
|
|||
|
|||
INNO TROUBLESHOOT - Tutorials and Answers about INNO Setup
Please do NOT ask Questions in this thread, you can ask your INNO Questions HERE
This thread will contain all possible solutions, tutorials, and problems regarding INNO Setup, which we're using these days. Before opening any help thread about something, check this thread for response or help about it. CONTENTS: I. INTRODUCTION: History and Features of INNO Setup II. VISUALIZATION: Using Photoshop, Tips about the work, Creating PNG logos III. INTERFACE 1: Meaning of Used Values in Setup.ini III. INTERFACE 2: Editing Setup.cab contents III. INTERFACE 3: Internal External Setups, Registry Keys IV. COMPRESSION - When lzma is not enough V. TROUBLESHOOT - Questions/Problems and Solutions IA. INTRODUCTION Inno Setup is a free script-driven installation system created in CodeGear Delphi by Jordan Russell. The first version was released in 1997. Since Jordan Russell wasn't satisfied with InstallShield Express which he had received upon purchase of Borland Delphi, he decided to make his own installer. At first, Inno Setup was little known. The first public version was 1.09 IB. Capacity of INNO Setup (What you can do with it) -Supports Windows 7, Windows Vista, Windows Server 2003, Windows XP (including x64 editions) -Extensive support for installation of 64-bit applications on Windows XP and Windows Server 2003. Both the x64 and IA-64 architectures are supported. -Multiple platforms (IA-32, x64 and IA-64) in a single binary -Prior versions supported Windows NT 3.51 (Before v3.0) and Windows 3.X (Before v1.3) -Supports creation of a single EXE to install programs for easy online distribution. -Supports disk spanning. -Customizable setup types, e.g. Full, Minimal, Custom. -Complete uninstall capabilities. -Integrated support for “deflate”, bzip2, and 7-Zip LZMA file compression. The installer has the ability to compare file version info, replace in-use files, use shared file counting, register DLL/OCXs and type libraries, and install fonts. -Creation of shortcuts, including in the Start Menu and on the desktop. -Creation of registry and INI file entries. -Integrated Pascal scripting engine. -Support for multilingual installs. -Support for passworded and encrypted installs. -Silent install and uninstall. -Full source code is available (Borland Delphi 2.0-5.0). -Supports Unicode and right-to-left languages. IC. Unicode As you all know, INNO Setup has 2 versions; ANSI and Unicode. Unicode is the most used and universal one. Unicode is a computing industry standard for the consistent encoding, representation and handling of text expressed in most of the world's writing systems. Developed in conjunction with the Universal Character Set standard and published in book form as The Unicode Standard, the latest version of Unicode consists of a repertoire of more than 110,000 characters covering 100 scripts, a set of code charts for visual reference, an encoding methodology and set of standard character encodings, an enumeration of character properties such as upper and lower case, a set of reference data computer files, and a number of related items, such as character properties, rules for normalization, decomposition, collation, rendering, and bidirectional display order (for the correct display of text containing both right-to-left scripts, such as Arabic and Hebrew, and left-to-right scripts).As of 2012, the most recent version is Unicode 6.1. History: V1.00 - 08.07.2012: Actual Thread V1.01 - 08.07.2012: Added PNG logo tutorial V1.02 - 08.09.2012: Added Compression tutorial and some fixes on it. Last edited by REV0; 09-08-2012 at 08:59. |
The Following 11 Users Say Thank You to REV0 For This Useful Post: | ||
EIDO7 (20-04-2015), mamed3000 (19-09-2015), mausschieber (09-03-2013), mertderler (25-05-2015), oltjon (21-01-2014), pakrat2k2 (13-02-2013), Razor12911 (02-03-2013), RoxorProject (06-09-2013), Shadow Delta (22-05-2014), sucht (18-10-2014), zougjaysean (21-06-2013) |
Sponsored Links |
#2
|
|||
|
|||
IIA. VISUALIZATION
Creating unique setups by using yener's CI -Before discovering Unicode and yener's CI, we were using ANSI version of INNO. However today, thanks to yener's script, we can change and create unique conversions for games. But to create good looking setup you need more than INNO Setup. You need second tools. Corel X5, Adobe Photoshop (the one i'm using) and GIMP are good examples for creating different and unique looking buttons and background for your setup. Example background work for 'Dishonored' - Photoshop CS5 IIB. Hints and Tips I'll give you some advises about graphics (I'll talk on PS) 1. You may use different sized of backgrounds. In this case, work on fullscreen and resize the background you'll use in Photoshop. By doing this, you will see how background will look on %100. 2. Do not pass 720 resolution since it's the smallest monitor size and still selling global. Oversized Installer will create problems. 3. PNG is your friend during setups. By working without a background will create more possibilities about setups and in the end you'll get nicer setups. 4. Know the contrast. If you have dark texts in the setup, use light images so people can read them. If you have light text use the dark images instead. Same goes for button layouts. TDU2 conversion with button which have PNG extension. 4. When you're creating buttons, apply the rule number 1 and work on background itself, so you can see how buttons will look over installer. 5. After applying rule number4, use Crop Tool and separate button from installer. Now you can work on buttons directly and all your buttons will have same size. IIC. SPLASH.PNG/CREATING .PNG LOGOs Most of the game have transparent logo. And since we're using Splash.png aka logos in conversion, you may need this tut. There are couple of solutions for this. The most basic one is; search. Type the game's name and add 'logo' word on google search. Eventually, you'll find nice and one big logo for your work. (I have 8000x5000 logo for Shogun2) If you're not default person and want to be creative, search again. Since it has png extension, you can do literally everything. Change fonts, add additional pictures, grunge it etc. But if you cant find a png logo, you'll have create your own. A) Via Photoshop Photoshop have Magic Wand function which will help you. Use Magic Wand (the wizard icon on toolbox of PS) and start to select your logo. Hold down shift key and repeat the process. You'll pretty much cover your logo. Then press Ctrl+J and you'll have your logo on second/different layer. Couple of tips: If your logo is dark, find the image which has light background. If it's light logo, find with dark background, this will make selection easier. B) Irfanview Load the picture into IrfanView, press S for "Save as...", set the image type (PNG), enable "Save Transparent Color" and the program will ask you to click on the color that should be turned into transparent. Thanks to Joe Forster/STA for this tip. C) GIMP No additional info since i'm not using it. TIP V2: If you're heavy converter, i really recommend Photoshop, it's your savior in visual stuff Last edited by REV0; 15-09-2012 at 03:28. |
The Following 10 Users Say Thank You to REV0 For This Useful Post: | ||
ASSAiL (25-10-2013), EIDO7 (20-04-2015), mamed3000 (19-09-2015), mausschieber (09-03-2013), mconstantine (17-12-2014), oltjon (23-12-2013), pakrat2k2 (13-02-2013), Razor12911 (02-03-2013), RoxorProject (06-09-2013), Shadow Delta (22-05-2014) |
#3
|
||||||
|
||||||
IIIA - INTERFACE]
-Once you've created buttons, backgrounds and other stuff, it's time to add them to setup. If you worked on exactly same size on existing setup, you can simply overwrite them by opening Setup.cab with Winrar and drag elements over current ones. However generally every game and setup is different so still, you may have to edit some values in Setup.ini. IIIB. Meaning of Used Values in Setup.ini There's no need to re-discover America so i'm taking this part from yener's thread: Quote:
Quote:
Quote:
Quote:
Quote:
RoundedCorner applied Deux Ex Autorun example Launcher Quote:
Last edited by REV0; 07-08-2012 at 11:21. |
The Following 10 Users Say Thank You to REV0 For This Useful Post: | ||
adiel26 (13-07-2013), EIDO7 (20-04-2015), Harsh ojha (18-08-2019), mamed3000 (19-09-2015), mausschieber (09-03-2013), mconstantine (17-12-2014), MMR (21-02-2013), pakrat2k2 (13-02-2013), RoxorProject (06-09-2013), Shadow Delta (22-05-2014) |
#4
|
|||||
|
|||||
IIIC. Editing of Used Files in Setup.CAB
Taken from yener90 Autorun folder: Quote:
Quote:
Quote:
Quote:
Quote:
Last edited by REV0; 07-08-2012 at 11:21. |
The Following 8 Users Say Thank You to REV0 For This Useful Post: | ||
mamed3000 (19-09-2015), mausschieber (09-03-2013), mconstantine (17-12-2014), MMR (21-02-2013), pakrat2k2 (13-02-2013), RoxorProject (06-09-2013), Shadow Delta (22-05-2014), zougjaysean (21-06-2013) |
#5
|
|||
|
|||
IIID. Internal-External Setups, Registry Keys
a) Internal Installation This is activated by removing semicolon ( ; ) from following line in script: Code:
;#define ProgramFiles "F:\Program Files (x86)\Atari\TDU2" INNO Setup will compress files in given path (in this example; TDU2). It will compress them regardless the content or anything else, so using internal setups in conversions is easy and effective solution. b) External Installation By keeping semicolon, you'll create only base files (setup.exe, .ico, trasferring of any changing to exe) This type of installation will give converter more possibilites about compressions. Since you cant do precomp+srep+lzma at the same time in INNO, using external inst. is more logic. You can compress files better than INNO's compression, however beware; it'll take more time to create conversion and also install the game. For example, converting MaxPayne 3 with all types of compressions took 12 hours and more than 1 hour to install. c) Registry Keys: Another important feature of INNO Setup. No matter how you install the game, you will need registry keys. Adding them may look complicated, however it's easy as other stuff in INNO. First of all find your game in your Registry Editor. (In our example we'll work on Test Driver Unlimited 2): Once you found your data, open INNO script and found registry section. Normally you will find default uninstall registry key in there. Copy it, paste it, and edit it along adding regkeys. However DO NOT delete it. In your registry editor, you will find 3 columns; Name, Type, Data. Root: HKLM; SubKey: "SOFTWARE\{code:GetAppPublisher}\{code:GetAppName} "; ValueName: UninstallString; ValueData: {uninstallexe}; ValueType: string; Flags: UninsDeleteKey; Subkey corresponds the path of registry key, so we will not touch it. ValueName corresponds 'Name' in your registry editor. You will edit this according to your registry key in OS. 'Exepath, InstallDir' are our ValueNames in here. ValueData corresponds 'Data' in Registry Editor. According to conversion, this can be numbers, game path, or simply a command. If you're working on multiple language supported game, it's better to add all possible languages to it. If you need to add number or letter, you'll type it directly without these ' {} ' ValueType is generaly remains same, so i'll pass this, same goes for Flags. So in the end, our Registrykeys about TDU2 will look like this (Attention to multiple language keys and how they're looking): Code:
Root: HKLM; SubKey: "SOFTWARE\{code:GetAppPublisher}\{code:GetAppName}"; ValueName: UninstallString; ValueData: {uninstallexe}; ValueType: string; Flags: UninsDeleteKey; Root: HKLM; SubKey: "SOFTWARE\{code:GetAppPublisher}\{code:GetAppName}"; ValueName: ExePath; ValueData: {app}\{code:GetMyAppExePath}\{code:GetMyAppExeName}; ValueType: string; Flags: UninsDeleteKey; Root: HKLM; SubKey: "SOFTWARE\{code:GetAppPublisher}\{code:GetAppName}"; ValueName: InstallDir; ValueData: {app}\{code:GetMyAppExePath}; ValueType: string; Flags: UninsDeleteKey; Root: HKLM; SubKey: "SOFTWARE\{code:GetAppPublisher}\{code:GetAppName}"; ValueName: LanguagePack; ValueData: EU; ValueType: string; Flags: UninsDeleteKey; Root: HKLM; SubKey: "SOFTWARE\{code:GetAppPublisher}\{code:GetAppName}"; ValueName: LauncherPath; ValueData: {app}\{code:GetMyAppExePath}\UpLauncher.exe; ValueType: string; Flags: UninsDeleteKey; Root: HKLM; SubKey: "SOFTWARE\{code:GetAppPublisher}\{code:GetAppName}"; ValueName: Language; ValueData: en; ValueType: string; Flags: UninsDeleteKey; Languages: eng; Root: HKLM; SubKey: "SOFTWARE\{code:GetAppPublisher}\{code:GetAppName}"; ValueName: Language; ValueData: fr; ValueType: string; Flags: UninsDeleteKey; Languages: fre; Root: HKLM; SubKey: "SOFTWARE\{code:GetAppPublisher}\{code:GetAppName}"; ValueName: Language; ValueData: de; ValueType: string; Flags: UninsDeleteKey; Languages: ger; Root: HKLM; SubKey: "SOFTWARE\{code:GetAppPublisher}\{code:GetAppName}"; ValueName: Language; ValueData: it; ValueType: string; Flags: UninsDeleteKey; Languages: ita; Root: HKLM; SubKey: "SOFTWARE\{code:GetAppPublisher}\{code:GetAppName}"; ValueName: Language; ValueData: sp; ValueType: string; Flags: UninsDeleteKey; Languages: esp; Last edited by REV0; 07-08-2012 at 11:21. |
The Following 9 Users Say Thank You to REV0 For This Useful Post: | ||
mamed3000 (19-09-2015), mausschieber (09-03-2013), mconstantine (17-12-2014), MMR (21-02-2013), pakrat2k2 (13-02-2013), RoxorProject (06-09-2013), samer1 (08-09-2014), Shadow Delta (22-05-2014), zougjaysean (21-06-2013) |
#6
|
|||
|
|||
IV. COMPRESSION
Like our poster said, when lzma is not enough for our needs, external installation enters the business. INNO's internal compression supports up to lzma2/ultra64. Don't be deceived to it's title, there's a slight difference between lzma and ultra64, in some content. Compression takes longer, however the gain might be couple of megabytes. To use external compression, first of all you need a setup. But attention, this one's compression system must be disabled. To do this, add semicolon on second line of INNO, which there's game's path lies. After this, re-compile the script and you got external-ready setup.exe. Currently, you can use cmd/bat file to automate everything. You only need to edit compression level etc. in bat file and then you're good to go. Regardless what you're going to do with compression, if you are using external methods, you will need to add, PrecompVer=inside in InstallOptions in setup.ini. Bamse clearly explained these values; Code:
-mprecomp:v+srep+lzma:a1:mfbt4:d256m:fb128:mc1000:lc8 Code:
-mprecomp:v+srep+lzma:a1:mfbt4:d256m:fb128:mc1000:lc8 Code:
-mprecomp:v+srep+lzma:a1:mfbt4:d256m:fb128:mc1000:lc8 Code:
-mprecomp:v+srep+lzma:a1:mfbt4:d256m:fb128:mc1000:lc8 Code:
-mprecomp:v+srep+lzma:a1:mfbt4:d256m:fb128:mc1000:lc8 Code:
-mprecomp:v+srep+lzma:a1:mfbt4:d256m:fb128:mc1000:lc8 Once you edit these values (or you can leave them unchanged - attention do not use the values above they're just examples) Click the bat file and let the cmd run and do the compressing for you. Here's the example of Bamse's Prototype 2 conversion (I'm testing something different) Code:
echo off arc a -ep1 -r -w.\ .\data1.cab [email protected] -mlzma:a1:mfbt4:d256m:fb128:mc1000:lc8 arc a -ep1 -r -ed -w.\ .\data2.cab [email protected] -x".\audio\*" -x".\movies\*" -mprecomp+srep+lzma:a1:mfbt4:d256m:fb128:mc1000:lc8 ".\*" arc a -ep1 -r -w.\ .\data3.cab -mlzma:a1:mfbt4:d256m:fb128:mc1000:lc8 ".\movies\#converted\*" Last edited by REV0; 20-02-2013 at 15:09. |
The Following 14 Users Say Thank You to REV0 For This Useful Post: | ||
GBT repack (02-06-2015), Junior.666_PL (11-04-2013), kassane (25-04-2015), mamed3000 (19-09-2015), mausschieber (09-03-2013), mconstantine (17-12-2014), MMR (21-02-2013), pakrat2k2 (13-02-2013), ramydarkness (22-03-2022), Razor12911 (03-04-2013), RoxorProject (06-09-2013), Shadow Delta (22-05-2014), truerepacks (12-08-2015), zougjaysean (21-06-2013) |
#7
|
|||
|
|||
V. TROUBLESHOOT - TUTORIALS
Q: I'm having TGUID error during Compile. It says 'Error: Unknown type 'TGUID' S: You're not using correct version of INNO Setup. You must use/download Unicode version and compile the conversion with it. Q: I'm having TGUID errror during Compile. It says 'Duplicate identifier 'TGUID' S: You're not using correct version of INNO Setup. You must use/download ANSI version and compile the conversion with it. Q: I downloaded the conversion, edited path of the game and clicked Compile. It completed in a second and it's not installing the game. S: Delete the semicolon ( ; ) in front of second line aka #define ProgramFiles and re-compile. Q: I downloaded the setup and backgrounds/buttons are missing. S: This is a known bug, i also have this issue time to time. There are multiple solutions: a) Rename the folder. (Chance of success 75%) b) Create another folder on desktop, move the content to this folder (Chance of success 100%) Q: Where can i put video.avi and how to play it ? S: You will place video.avi/flv in Setup.cab/Setup folder. But beware, current CI doesnt support video-backgrounds and music at the same time, so you will watch the same video over and over again during install. Q: I'm having 'Insert next disk' error in conversion, what should i do ? S: If you have bin files in conversion and getting this error, open Setup.ini and delete [ExtractSettings] and it's contents. Q: I'm having 'Insert Disk1 to continue' error, in fact Disk1 is already inserted ? S: That's because you put 2 or less bin files in the folder. In general every conversion needs 3bin files for each DVDs. You can put 4 or more if you're making DVD9 however, putting less bin files, will result this error. Last edited by REV0; 17-08-2012 at 10:17. |
The Following 8 Users Say Thank You to REV0 For This Useful Post: | ||
dienszge (21-03-2014), mamed3000 (19-09-2015), mausschieber (09-03-2013), mconstantine (17-12-2014), MMR (21-02-2013), pakrat2k2 (13-02-2013), RoxorProject (06-09-2013), zougjaysean (21-06-2013) |
#8
|
|||
|
|||
How to display a shortcut with a different icon?
I know it might have been answered but have not seen it. I'm making an installer for Dos Box running an old Dos game called 007 License to Kill, using Inno-Setup and would like to set a shortcut in the start menu and on the desktop using an icon I made.
Lets say the icon name is myicon.ico, after I made the script using Inno-Setup, under the heading [Icons] this is what it looks like; [Icons] Name: {group}\007 License to Kill; Filename: C:\Games\007LicensetoKill\dosbox.exe; IconFilename: C:\Games\007LicensetoKill\dosbox.exe; IconIndex: 0 Name: {commondesktop}\007 License to Kill; Filename: C:\Games\007LicensetoKill\dosbox.exe; IconFilename: C:\Games\007LicensetoKill\dosbox.exe; IconIndex: 0; Tasks: desktopicon What I want to add or change is, instead of the DosBox.exe showing up as the desktop or start menu icon I wanted it to show myicon.ico I already have the .ico file placed in the DosBox directory and the game in a separate folder in the DosBox directory. I tried to do it but it seems I'm doing the wrong thing. After compiling the game and DosBox I either end up with no icon to display or end up with the DosBox icon. I've attached the Iss file I made and if someone can please give me a working example or even modify my Iss file I would really appreciate it very much. Thank you. |
#10
|
|||
|
|||
Thank you Razor but somehow it still does not work for me. Take a look at the first three pictures and then look at the fourth picture the first one I click on the desktop "properties" no target.
The second picture I click on "open file location" Third picture shows you where its linked to. 4th picture is after installing using the Dosbox.exe as the destop shortcut icon and when clicked it opens DosBox and launches the game immediately. So the thread you referred me to, I tried it and it just does not work. |
#11
|
||||
|
||||
you have to include the icon in [Files] and set destination to {app}
|
#12
|
|||
|
|||
Thank you Razor. That fixed it. I saw the mistake I made after you pointed it out .
|
#13
|
||||
|
||||
How can i solve this
the error is in both versions
I have read many treads but no solution found so I hope you can help me oh and my system is win7 64bit my video card has 4GB Thanks in advance [Code] #define processor "2000" #define videoram "255500000" #define ram "2047" #define pagefile "756" [Setup] AppName=System Check AppVerName=System Check DefaultDirName={pf32}\System Check [Files] Source: C:\Program Files (x86)\Inno Setup 5\get_hw_caps.dll; Flags: dontcopy [Code] function GetVideoCardName(): PansiChar; external 'hwc_GetVideoCardName@files:get_hw_caps.dll stdcall'; function GetSoundCardName(): PansiChar; external 'hwc_GetSoundCardName@files:get_hw_caps.dll stdcall'; function DetectHardware(): Integer; external 'hwc_DetectHardware@files:get_hw_caps.dll stdcall'; function GetHardDriveFreeSpace(hdd: integer): Integer; external 'hwc_GetHardDriveFreeSpace@files:get_hw_caps.dll stdcall'; function GetHardDriveName(hdd: integer): PansiChar; external 'hwc_GetHardDriveName@files:get_hw_caps.dll stdcall'; function GetHardDriveTotalSpace(hdd: integer): Integer; external 'hwc_GetHardDriveTotalSpace@files:get_hw_caps.dll stdcall'; function GetHardDrivesCount(): Integer; external 'hwc_GetHardDrivesCount@files:get_hw_caps.dll stdcall'; function GetSoundCards(): Integer; external 'hwc_GetSoundCards@files:get_hw_caps.dll stdcall'; function GetSystemPage(): Integer; external 'hwc_GetSystemPage@files:get_hw_caps.dll stdcall'; function GetSystemPhys(): Integer; external 'hwc_GetSystemPhys@files:get_hw_caps.dll stdcall'; function GetVidMemLocal(): Integer; external 'hwc_GetVidMemLocal@files:get_hw_caps.dll stdcall'; function GetVidMemNonLocal(): Integer; external 'hwc_GetVidMemNonLocal@files:get_hw_caps.dll stdcall'; function GetVideoCardDev(): Integer; external 'hwc_GetVideoCardDev@files:get_hw_caps.dll stdcall'; function GetVideoCardVen(): Integer; external 'hwc_GetVideoCardVen@files:get_hw_caps.dll stdcall'; function CheckSystemPage(PreviousPageId: Integer): Integer; var Page: TWizardPage; ProcessorName:string; Processor,ProcessorNamePanel,VideoCardNamePanel,Vi deoCardPanel,AudioCardNamePanel,RAMTotalPanel,Page FileTotalPanel,AudioCardPanel,RAMPanel,PageFilePan el: TMemo; ProcessorMHZ: Cardinal; StaticText,StaticText2:TNewStaticText; oneGhz,oneMB,Rest:Integer; begin RegQueryStringValue(HKLM, 'HARDWARE\DESCRIPTION\System\CentralProcessor\0',' ProcessorNameString', ProcessorName); RegQueryDWordValue(HKLM, 'HARDWARE\DESCRIPTION\System\CentralProcessor\0',' ~MHz', ProcessorMHZ); GetVidMemLocal; GetSoundCards; oneGhz:=1000; Rest:=ProcessorMHZ - oneGhz; oneMB:=1024*1024; Page := CreateCustomPage(PreviousPageId,'Hardware','Setup hat die folgenden Voraussetzungen erkannt'); StaticText:=TNewStaticText.Create(Page); with StaticText do begin Parent:=Page.Surface; Caption:='Alle Komponenten erfüllen die Anforderungen des Spiels.'; Left:=0; Top:=5; AutoSize:=True; end; StaticText2:=TNewStaticText.Create(Page); with StaticText2 do begin Parent:=Page.Surface; Caption:='Wenn Sie bereit sind fortzufahren, klicken Sie auf "Weiter"' Left:=0; Top:=220; AutoSize:=True; end; Processor := TMemo.Create(Page); with Processor do begin Parent := Page.Surface; Lines.Add(ExpandConstant(' Prozessor')); Color := -16777194; Left := ScaleX(0); Top := ScaleY(32); Width := ScaleX(104); Height := ScaleY(21); ReadOnly := True; Cursor := crArrow; end; ProcessorNamePanel := TMemo.Create(Page); with ProcessorNamePanel do begin Parent := Page.Surface; Lines.Add(' '+ProcessorName+' '+IntToStr(ProcessorMHZ/oneGhz)+','+IntToStr(Rest)+'GHz'+' '+'@'+IntToStr(ProcessorMHZ)+'MHz'); Left := ScaleX(109); Top := ScaleY(32); Width := ScaleX(304); Height := ScaleY(21); Color := $CCFFCC; ReadOnly := True; Cursor := crArrow; end; //CPU-Geschwindigkeit// if ProcessorMHZ<{#processor} then begin ProcessorNamePanel.Color:=clred; StaticText.Caption:='Komponenten in rot erfüllen nicht die Anforderungen des Spiels.'; end; VideoCardPanel:=TMemo.Create(Page); with VideoCardPanel do begin Parent := Page.Surface; Lines.Add(ExpandConstant(' Grafikkarte')); Color := -16777194; Left:=ScaleX(0); Top:=Processor.Top+27; Width:=ScaleX(104); Height:=ScaleY(21); ReadOnly := True; Cursor := crArrow; end; VideoCardNamePanel:=TMemo.Create(Page); with VideoCardNamePanel do begin Parent:=Page.Surface; Lines.Add(' '+GetVideoCardName+' '+IntToStr(GetVidMemLocal/oneMB)+' MB'); Left:=ScaleX(109); Top:=VideoCardPanel.Top; Width:=ScaleX(304); Height:=ScaleY(21); Color := $CCFFCC; ReadOnly := True; Cursor := crArrow; end; //Video Memory// if GetVidMemLocal<{#videoram} then begin StaticText.Caption:='Komponenten in rot erfüllen nicht die Anforderungen des Spiels.'; VideoCardNamePanel.Color:=clred; end ; AudioCardPanel:=TMemo.Create(Page); with AudioCardPanel do begin Parent := Page.Surface; Lines.Add(ExpandConstant(' Soundkarte')); Color := -16777194; Left := ScaleX(0); Top:=VideoCardPanel.Top+27; Width := ScaleX(104); Height := ScaleY(21); ReadOnly := True; Cursor := crArrow; end; AudioCardNamePanel:=TMemo.Create(Page); with AudioCardNamePanel do begin Parent:=Page.Surface; Lines.Add(' '+GetSoundCardName); Left:=ScaleX(109); Top:=AudioCardPanel.Top; Width:=ScaleX(304); Height:=ScaleY(21); Color := $CCFFCC; ReadOnly := True; Cursor := crArrow; end; //Audio// if GetSoundCards=0 then begin StaticText.Caption:='Komponenten in rot erfüllen nicht die Anforderungen des Spiels.'; with AudioCardNamePanel do begin Color:=clred; Lines.Add('nicht gefunden'); ReadOnly := True; Cursor := crArrow; end; end; RAMPanel:=TMemo.Create(Page); with RAMPanel do begin Parent := Page.Surface; Lines.Add(ExpandConstant(' RAM')); Color := -16777194; Left := ScaleX(0); Top:=AudioCardPanel.Top+27; Width := ScaleX(104); Height := ScaleY(21); ReadOnly := True; Cursor := crArrow; end; RAMTotalPanel:=TMemo.Create(Page); with RAMTotalPanel do begin Parent:=Page.Surface; Lines.Add(' '+IntToStr(GetSystemPhys+1) +' MB'); Left:=AudioCardNamePanel.Left; Top:=RAMPanel.Top; Width:=AudioCardNamePanel.Width; Height:=ScaleY(21); Color := $CCFFCC; ReadOnly := True; Cursor := crArrow; end; //RAM// if GetSystemPhys+1<{#ram} then begin RAMTotalPanel.Color:=clred; StaticText.Caption:='Komponenten in rot erfüllen nicht die Anforderungen des Spiels.'; end; PageFilePanel:=TMemo.Create(Page); with PageFilePanel do begin Parent := Page.Surface; Lines.Add(ExpandConstant(' Auslagerungsdatei')); Color := -16777194; Left := ScaleX(0); Top:=RAMPanel.Top+27; Width := ScaleX(104); Height := ScaleY(21); ReadOnly := True; Cursor := crArrow; end; PageFileTotalPanel:=TMemo.Create(Page); with PageFileTotalPanel do begin Parent:=Page.Surface; Lines.Add(' '+IntToStr(GetSystemPage)+' MB'); Left:=RAMTotalPanel.Left; Top:=PageFilePanel.Top; Width:=RAMTotalPanel.Width; Height:=ScaleY(21); Color := $CCFFCC; ReadOnly := True; Cursor := crArrow; end; //Auslagerungsdatei// if GetSystemPage<{#pagefile} then begin PageFileTotalPanel.Color:=clred; StaticText.Caption:='Komponenten in rot erfüllen nicht die Anforderungen des Spiels.'; end; Result:=Page.ID; end; procedure InitializeWizard(); begin CheckSystemPage(wpWelcome); end; [LangOptions] LanguageName=German LanguageID=$0407 Last edited by mausschieber; 06-04-2013 at 00:47. Reason: Code insert |
The Following 2 Users Say Thank You to mausschieber For This Useful Post: | ||
zougjaysean (21-06-2013) |
#14
|
||||
|
||||
problem statement ?
#define videoram "255500000" > bytes #define ram "2047" > 2MB = 2048 |
The Following User Says Thank You to pakrat2k2 For This Useful Post: | ||
mausschieber (06-04-2013) |
#15
|
||||
|
||||
The Problem is that the integer produced by get_hw_caps.dll is a negative value. you can even see the -42MB which is false information.
Therefore I came up with something to fix but I don't know if it work. I want you to test this installer system req. if the problem is solved then I will tell you what to do. if not, tough luck. you must report back results. Last edited by Razor12911; 06-04-2013 at 16:44. |
The Following 3 Users Say Thank You to Razor12911 For This Useful Post: | ||
Thread Tools | |
Display Modes | |
|
|