April 1, 200818 yr Hi.I am learning to write inf file to install some programs, the ones i have done so far install ok but for some reason this one does not and i have used one of the others as a template.[Version]Signature="$WINDOWS NT$"[Optional Components]retrogames[retrogames]OptionDesc = "Retro Games"Tip = "Play Retro Games From The Past On Your PC."Modes = 0,1,2,3Copyfiles = CopyChronosMain,CopyChronosFont,CopyChronosLevel,CopyChronosSfx,CopyChronosGfx[SourceDisksNames.x86]1 = "Retro Game Files","retro.cab",,"i386"[DestinationDirs]CopyChronosMain = 16422,%CHRONOSMAIN%CopyChronosFont = 16422,%CHRONOSFONT%CopyChronosLevel = 16422,%CHRONOSLEVEL%CopyChronosSfx = 16422,%CHRONOSSFX%CopyChronosGfx = 16422,%CHRONOSGFX%[SourceDisksFiles]Chronos.exe =1Chronos.html =1Chronos.png =1Chronos2.png =1Chronos2.png.jfm =1Chronos3.png =1Chronos3.png.jfm =1Chronos.png.jfm =1Style.css =1hiscore.dat =1levelhigh.dat =1levelmid.dat =1levellow.dat =1profile.dat =1beep.wav =1chrono.mp3 =1explodemid.wav =1levelbonus.wav =1timegate.wav =1vbonus.wav =1vgameover.wav =1vmulti.wav =1vshield.wav =1vtarget50.wav =1vtimefield.wav =1vtriple.wav =1beeplow.wav =1explode.wav =1laser.wav =1stun.wav =1turret.wav =1vexlife.wav =1vlbonus.wav =1vreact.wav =1vtarget25.wav =1vtargetdestroyed.wav =1vtitle.wav =1zap.wav =1background.png =1ballnasty.png =1bonusbooster.png =1bonuslevel.png =1bonusmulti.png =1bonusscore.png =1bonusshield.png =1bonustriple.png =1border.png =1bullet.png =1bullet-x.png =1coinnasty.png =1down.png =1endboss.png =1explosion.png =1eyes.png =1lasburst.png =1logo.png =1logo2.png =1mcursor.png =1missilenasty.png =1pulse.png =1pulse2.png =1pulse3.png =1saurcernasty.png =1shield.png =1ship.png =1shipflame.png =1slabnasty.png =1smoke.png =1splash.png =1squarenasty.png =1stars.png =1system.png =1tbullet.png =1title.png =1up.png =1warp.png =1world.png =1yingnasty.png =1[CopyChronosMain]Chronos.exeChronos.html[CopyChronosFont]chronos.pngchronos.png.jfmchronos2.pngchronos2.png.jfmchronos3.pngchronos3.png.jfmstyle.css[CopyChronosLevel]hiscore.datlevelhigh.datlevelmid.datlevellow.datprofile.dat[CopyChronosSfx]beep.wavchrono.mp3explodemid.wavlevelbonus.wavtimegate.wavvbonus.wavvgameover.wavvmulti.wavvshield.wavvtarget50.wavvtimefield.wavvtriple.wavbeeplow.wavexplode.wavlaser.wavstun.wavturret.wavvexlife.wavvlbonus.wavvreact.wavvtarget25.wavvtargetdestroyed.wavvtitle.wavzap.wav[CopyChronosGfx]background.pngballnasty.pngbonusbooster.pngbonuslevel.pngbonusmulti.pngbonusscore.pngbonusshield.pngbonustriple.pngborder.pngbullet.pngbullet-x.pngcoinnasty.pngdown.pngendboss.pngexplosion.pngeyes.pnglasburst.pnglogo.pnglogo2.pngmcursor.pngmissilenasty.pngpulse.pngpulse2.pngpulse3.pngsaucernasty.pngshield.pngship.pngshipflame.pngslabnasty.pngsmoke.pngsplash.pngsquarenasty.pngstars.pngsystem.pngtbullet.pngtitle.pngup.pngwarp.pngworld.pngyingnasty.png[Strings]RETROGAMES = "Retro Games"CHRONOSMAIN = "Retro Games\Chronos"CHRONOSFONT = "Retro Games\Chronos\Font"CHRONOSLEVEL = "Retro Games\Chronos\Level"CHRONOSSFX = "Retro Games\Chronos\Sfx"CHRONOSGFX = "Retro Games\Chronos\Gfx"Many Thanks For Any HelpWorf
April 1, 200818 yr Would it have something to do with using unquoted destination directories containing spaces?
April 1, 200818 yr I wanna recommend to you a program by n7Epilson called FGCBA, you use it to test your entries.ini and inf files**** FGCBA 0.897 * by n7Epsilon * [url="http://tinyurl.com/lslmm"]http://tinyurl.com/lslmm[/url] ****- Starting Logger "All your bug are report by me!!" -I: Date/Time of execution: 4/1/2008 10:27:57 PM UTCI: Specified Parameters: * C:\Documents and Settings\Administrator\Desktop\test.inf * /log:C:\Documents and Settings\Administrator\Desktop\log_test.txtI: Dump of ParamsTable (ArgumentParser v2): * log = C:\Documents and Settings\Administrator\Desktop\log_test.txtI: ExtINFParser engaged, attempting read "test.inf" ** Reading INF file: test.inf...I: Read variables in [Strings] section: RETROGAMES = "Retro Games" CHRONOSMAIN = "Retro Games\Chronos" CHRONOSFONT = "Retro Games\Chronos\Font" CHRONOSLEVEL = "Retro Games\Chronos\Level" CHRONOSSFX = "Retro Games\Chronos\Sfx" CHRONOSGFX = "Retro Games\Chronos\Gfx"- Warn: [DefaultInstall] section does not exist in test.inf * Parsing [Optional Components] section... * Parsing [retrogames] section... - Processing CopyFiles directive... * Parsing [SourceDisksNames.x86] section... * Parsing [SourceDisksFiles] section... * Parsing [DestinationDirs] section... - Parsing [CopyChronosMain] section... - Parsing [CopyChronosFont] section... - Parsing [CopyChronosLevel] section... - Parsing [CopyChronosSfx] section... - Parsing [CopyChronosGfx] section...- Error: Orphaned file "saucernasty.png" in [CopyChronosGfx] This file was never referenced by [SourceDisksFiles] in test.inf!- Error: "saurcernasty.png" is specified in [SourceDisksFiles] but not in any of the CopyFiles sections in test.inf! !- 1 warning(s): - [DefaultInstall] section does not exist in test.inf !- 1 warning(s). !- 2 error(s): - Orphaned file "saucernasty.png" in [CopyChronosGfx] This file was never referenced by [SourceDisksFiles] in test.inf! - "saurcernasty.png" is specified in [SourceDisksFiles] but not in any of the CopyFiles sections in test.inf! !- 2 error(s). !!!!- Critical error(s) detected, process aborted.- Stopping Logger -It says you have a typo. The SourceDisksFiles and CopyFiles filename do not match[sourceDisksFiles]saurcernasty.png =1[CopyChronosGfx]saucernasty.pngYzöwl the spaces wont hurt if they are already quoted in strings Edited April 2, 200818 yr by ricktendo64
April 1, 200818 yr Author Well ricktendo64, you have done it again thanks alot. I can now move on How i missed that i dont know, i had completely rewritten the inf file and still made a typo, thanks for the program, will sure use that to check my infs.Once again thank youWorf
April 2, 200818 yr I wanna recommend to you a program by n7Epilson called FGCBA, you use it to test your entries.ini and inf files**** FGCBA 0.897 * by n7Epsilon * [url="http://tinyurl.com/lslmm"]http://tinyurl.com/lslmm[/url] ****- Starting Logger "All your bug are report by me!!" -I: Date/Time of execution: 4/1/2008 10:27:57 PM UTCI: Specified Parameters: * C:\Documents and Settings\Administrator\Desktop\test.inf * /log:C:\Documents and Settings\Administrator\Desktop\log_test.txtI: Dump of ParamsTable (ArgumentParser v2): * log = C:\Documents and Settings\Administrator\Desktop\log_test.txtI: ExtINFParser engaged, attempting read "test.inf" ** Reading INF file: test.inf...I: Read variables in [Strings] section: RETROGAMES = "Retro Games" CHRONOSMAIN = "Retro Games\Chronos" CHRONOSFONT = "Retro Games\Chronos\Font" CHRONOSLEVEL = "Retro Games\Chronos\Level" CHRONOSSFX = "Retro Games\Chronos\Sfx" CHRONOSGFX = "Retro Games\Chronos\Gfx"- Warn: [DefaultInstall] section does not exist in test.inf * Parsing [Optional Components] section... * Parsing [retrogames] section... - Processing CopyFiles directive... * Parsing [SourceDisksNames.x86] section... * Parsing [SourceDisksFiles] section... * Parsing [DestinationDirs] section... - Parsing [CopyChronosMain] section... - Parsing [CopyChronosFont] section... - Parsing [CopyChronosLevel] section... - Parsing [CopyChronosSfx] section... - Parsing [CopyChronosGfx] section...- Error: Orphaned file "saucernasty.png" in [CopyChronosGfx] This file was never referenced by [SourceDisksFiles] in test.inf!- Error: "saurcernasty.png" is specified in [SourceDisksFiles] but not in any of the CopyFiles sections in test.inf! !- 1 warning(s): - [DefaultInstall] section does not exist in test.inf !- 1 warning(s). !- 2 error(s): - Orphaned file "saucernasty.png" in [CopyChronosGfx] This file was never referenced by [SourceDisksFiles] in test.inf! - "saurcernasty.png" is specified in [SourceDisksFiles] but not in any of the CopyFiles sections in test.inf! !- 2 error(s). !!!!- Critical error(s) detected, process aborted.- Stopping Logger -It says you have a typo. The SourceDisksFiles and CopyFiles filename do not match[sourceDisksFiles]saurcernasty.png =1[CopyChronosGfx]saucernasty.pngYzöwl the spaces wont hurtD A M N you Rick. LMAO. Edited April 2, 200818 yr by LUZR4LIFE
April 2, 200818 yr Author One other problem i need help with. My ProfileItems not creating a shortcut to the .EXE files, i've tried many ways but just can't get it to create the shortcut on the start menu, i've looked at how it is done and just copied it but still can't get it to work.Many ThanksWorf
April 2, 200818 yr Did you update your .inf so it looks something like this? You must create ProfileItems first.This should do the work... [retrogames]OptionDesc = "Retro Games"Tip = "Play Retro Games From The Past On Your PC."Modes = 0,1,2,3Copyfiles = CopyChronosMain,CopyChronosFont,CopyChronosLevel,CopyChronosSfx,CopyChronosGfxProfileItems=RG.AddShortcut.........[RG.AddShortcut]Name =Retro GamesCmdLine =16422,%CHRONOSMAIN%,Chronos.exeSubDir =%CHRONOSMAIN%WorkingDir =16422,%CHRONOSMAIN%InfoTip =Retro Games
April 2, 200818 yr Author Yep thats what i have done but it just wont create the shortcuts in the start menu as below.The destination dir is Program Files\Retro Games\ChronosStart Menu\Retro Games\Chronos\Chronos.exeProfileItems = Chronos.AddShortcut[Chronos.AddShortcut]Name = ChronosCmdLine = 16422,%CHRONOSMAIN%,Chronos.exeSubDir = %CHRONOSMAIN%WorkingDir = 16422,%CHRONOSMAIN%InfoTip = An Old Spectrum GameMy other .inf file creates a shortcut but for some reason this one does not. Any other ideas?Many Thanks Edited April 2, 200818 yr by Worf
April 2, 200818 yr Guess what?I bet you knew I was going to say this, but.…Did the working ones have spaces in their paths?
April 2, 200818 yr Did you by any chance add a [DefaultInstall] section with the same stuff thats under your OCEntry?BTW the shortcut code looks good, it should be working
April 2, 200818 yr Author Hi Rick.I've removed the spaces in the pathadd added the DefaultInstall and still no shortcut below is the inf file again.[Version]Signature="$WINDOWS NT$"[DefaultInstall]Modes = 0,1,2,3Copyfiles = CopyChronosMain,CopyChronosFont,CopyChronosLevel,CopyChronosSfx,CopyChronosGfxProfileItems = Chronos.AddShortcut[Optional Components]retrogames[retrogames]OptionDesc = "Retro Games"Tip = "Play Retro Games From The Past On Your PC."Modes = 0,1,2,3Copyfiles = CopyChronosMain,CopyChronosFont,CopyChronosLevel,CopyChronosSfx,CopyChronosGfxProfileItems = Chronos.AddShortcut[SourceDisksNames.x86]1 = "Retro Game Files","retro.cab",,"i386"[DestinationDirs]CopyChronosMain = 16422,%CHRONOSMAIN%CopyChronosFont = 16422,%CHRONOSFONT%CopyChronosLevel = 16422,%CHRONOSLEVEL%CopyChronosSfx = 16422,%CHRONOSSFX%CopyChronosGfx = 16422,%CHRONOSGFX%[SourceDisksFiles]Chronos.exe =1Chronos.htm =1Chronos.png =1Chronos2.png =1Chronos2.png.jfm =1Chronos3.png =1Chronos3.png.jfm =1Chronos.png.jfm =1Style.css =1hiscore.dat =1levelhigh.dat =1levelmid.dat =1levellow.dat =1profile.dat =1beep.wav =1chrono.mp3 =1explodemid.wav =1levelbonus.wav =1timegate.wav =1vbonus.wav =1vgameover.wav =1vmulti.wav =1vshield.wav =1vtarget50.wav =1vtimefield.wav =1vtriple.wav =1beeplow.wav =1explode.wav =1laser.wav =1stun.wav =1turret.wav =1vexlife.wav =1vlbonus.wav =1vreact.wav =1vtarget25.wav =1vtargetdestroyed.wav =1vtitle.wav =1zap.wav =1background.png =1ballnasty.png =1bonusbooster.png =1bonuslevel.png =1bonusmulti.png =1bonusscore.png =1bonusshield.png =1bonustriple.png =1border.png =1bullet.png =1bullet-x.png =1coinnasty.png =1down.png =1endboss.png =1explosion.png =1eyes.png =1lasburst.png =1logo.png =1logo2.png =1mcursor.png =1missilenasty.png =1pulse.png =1pulse2.png =1pulse3.png =1saurcernasty.png =1shield.png =1ship.png =1shipflame.png =1slabnasty.png =1smoke.png =1splash.png =1squarenasty.png =1stars.png =1system.png =1tbullet.png =1title.png =1up.png =1warp.png =1world.png =1yingnasty.png =1[CopyChronosMain]Chronos.exeChronos.htm[CopyChronosFont]chronos.pngchronos.png.jfmchronos2.pngchronos2.png.jfmchronos3.pngchronos3.png.jfmstyle.css[CopyChronosLevel]hiscore.datlevelhigh.datlevelmid.datlevellow.datprofile.dat[CopyChronosSfx]beep.wavchrono.mp3explodemid.wavlevelbonus.wavtimegate.wavvbonus.wavvgameover.wavvmulti.wavvshield.wavvtarget50.wavvtimefield.wavvtriple.wavbeeplow.wavexplode.wavlaser.wavstun.wavturret.wavvexlife.wavvlbonus.wavvreact.wavvtarget25.wavvtargetdestroyed.wavvtitle.wavzap.wav[CopyChronosGfx]background.pngballnasty.pngbonusbooster.pngbonuslevel.pngbonusmulti.pngbonusscore.pngbonusshield.pngbonustriple.pngborder.pngbullet.pngbullet-x.pngcoinnasty.pngdown.pngendboss.pngexplosion.pngeyes.pnglasburst.pnglogo.pnglogo2.pngmcursor.pngmissilenasty.pngpulse.pngpulse2.pngpulse3.pngsaurcernasty.pngshield.pngship.pngshipflame.pngslabnasty.pngsmoke.pngsplash.pngsquarenasty.pngstars.pngsystem.pngtbullet.pngtitle.pngup.pngwarp.pngworld.pngyingnasty.png[Chronos.AddShortcut]Name = ChronosCmdLine = 16422,%CHRONOSMAIN%,Chronos.exeSubDir = %CHRONOSMAIN%WorkingDir = 16422,%CHRONOSMAIN%InfoTip = An Old Spectrum Clasic Game[Strings]CHRONOSMAIN = "Retro Games\Chronos"CHRONOSFONT = "Retro Games\Chronos\Font"CHRONOSLEVEL = "Retro Games\Chronos\Level"CHRONOSSFX = "Retro Games\Chronos\Sfx"CHRONOSGFX = "Retro Games\Chronos\Gfx"below is an inf file i did that creates a shortcut[Version]Signature="$WINDOWS NT$"Product=%product%Version=%version%[Optional Components]pagedfrg[pagedfrg]OptionDesc = "Page Defrag"Tip = "Defrags System File On Bootup"Modes = 0,1,2,3Copyfiles = DestGrp,DestGrp1AddReg = PagedFrg_RegProfileItems = PagedfrgInstallItems,PagedfrgInstallHelp[SourceDisksNames.x86]1 = "pagedfrg",\win51ip,,\i386[SourceDisksFiles]pagedfrg.exe =1pagedfrg.hlp =1[DestinationDirs]DestGrp = 10DestGrp1 = 18[DestGrp]pagedfrg.exe[DestGrp1]pagedfrg.hlpPagedfrgInstallItems]Name = Page DefragCmdLine = 10,,Pagedfrg.exeSubDir = System ToolsWorkingDir = 10pagedfrg_InfoTip = "Defrags System File On Bootup"[PagedfrgInstallHelp]Name = Page Defrag HelpCmdLine = 18,,Pagedfrg.hlpSubDir = System ToolsWorkingDir =18[pagedFrg_Reg]HKCU,"Software\Sysinternals\PageDefrag","EulaAccepted",0x10001,01[Strings]Product="Pagedfrg"Version="1.0"I am pulling my hair out here Edited April 2, 200818 yr by Yzöwl Code placed into Code Tags
April 2, 200818 yr CHRONOSMAIN = "Retro Games\Chronos"CHRONOSFONT = "Retro Games\Chronos\Font"CHRONOSLEVEL = "Retro Games\Chronos\Level"CHRONOSSFX = "Retro Games\Chronos\Sfx"CHRONOSGFX = "Retro Games\Chronos\Gfx"I'm still seeing spaces!!!
April 2, 200818 yr Author Hi YzöwlI removed Games in "Retro Games" as you can see below, but the shortcuts are still not being created.CHRONOSMAIN = "Retro\Chronos"As i said before the inf file 'pagedfrg' creates the shortcut.I am wondering if it the one in bold that is the problem? I will try it out and report back[Chronos.AddShortcut]Name = ChronosCmdLine = 16422,%CHRONOSMAIN%,Chronos.exeSubDir = %CHRONOSMAIN%WorkingDir = 16422,%CHRONOSMAIN%InfoTip = An Old Spectrum Clasic Game
April 2, 200818 yr Hi YzöwlI removed Games in "Retro Games" as you can see below, but the shortcuts are still not being created.CHRONOSMAIN = "Retro\Chronos"As i said before the inf file 'pagedfrg' creates the shortcut.I am wondering if it the one in bold that is the problem? I will try it out and report back[Chronos.AddShortcut]Name = ChronosCmdLine = 16422,%CHRONOSMAIN%,Chronos.exeSubDir = %CHRONOSMAIN%WorkingDir = 16422,%CHRONOSMAIN%InfoTip = An Old Spectrum Clasic GameIs the shortcut not being made or is it a broken icon?When I have a issue with a shorcut I use this.CREATE A SHOURTCUT FILE AND CHANGE PROPERTIES TO%ProgramFiles% (ex. "C:\Unreal Tournament 3" to "%ProgramFiles%\Unreal Tournament 3"THEN ADD:[PROGRAM NAME]CopyFiles =AddShortcut.Files[DestinationDirs]AddShortcut.Files =16407,STARTMENUFOLDER; 16407 = %allusersprofile%\Start Menu\Programs; 16386 = %userprofile%\Start Menu\Programs[AddShortcut.Files]SHORCUTNAMEHope this helps.
April 2, 200818 yr Author No the start menu group and shortcut is not being created, but will try your method if i can't get it to work. Edited April 2, 200818 yr by Worf
Create an account or sign in to comment