PDA

View Full Version : Question about definition file


napalmguy
14-07-2011, 11:32
I don't know if this is the right forum for this or not so forgive me if I'm posting in the wrong forum

I've been repacking some of my very old games, and adding a game definition file to the installation

now i know that the file have to be signed for the content rating to appear

what I am asking is, is there a way to add the "Signed" flag automatically?

noting that I already use the signed gameuxinstallhelper.dll to register the resource file

and thanks in advance you've been a great help to me so far

peterf1999
15-07-2011, 04:05
I don't know if this is the right forum for this or not so forgive me if I'm posting in the wrong forum

I've been repacking some of my very old games, and adding a game definition file to the installation

now i know that the file have to be signed for the content rating to appear

what I am asking is, is there a way to add the "Signed" flag automatically?

noting that I already use the signed gameuxinstallhelper.dll to register the resource file

and thanks in advance you've been a great help to me so far

taken from msdn:

For the ratings to be interpreted and displayed by Games Explorer, you must digitally sign the DLL or executable file that contains the GDF data by using a trusted Certificate Authority. If your game is not signed, parental controls considers your game to be unrated, even if you have specified a rating in the GDF. For more information about signing code, see Authenticode Signing for Game Developers (http://msdn.microsoft.com/en-us/library/ee416211(v=vs.85).aspx).

napalmguy
15-07-2011, 12:55
thanks peter for the reply.

I know I have to sign the GDF but of course i can't buy a certificate authority to sign games

i know that i can change the value "IsSigned" to "1"

is there an alternative method to do this automatically?

Joe Forster/STA
15-07-2011, 13:22
You can "sign" a package by simply changing the "IsSigned" flag to true?! I can very hardly believe that: if it's that easy - also to counterfeit signatures and to sign malware - then what would be the point of signing?

napalmguy
15-07-2011, 16:58
:)

the IsSigned flag is in the Game Explorer registry values

and by changing that i didn't mean to bypass the signing process but merely to make the content rating that i added to the GDF I made appear in Game Explorer

I do this because I repack some of my very old games like MOH: Pacific Assault and Max Payne, Mafia and so on and some of these games are released long before the CA system became known

i know i can't sign any package but i can make content rating appear by changing that in the registry manually

again question is: is there a way to change this value automatically?

again thanks for you patience Joe

pakrat2k2
15-07-2011, 20:18
:)


i know i can't sign any package but i can make content rating appear by changing that in the registry manually

again question is: is there a way to change this value automatically?



if repacking / doing conversions for the older games, just add the changed registry value ( for the content rating ) into your inno script under the reg section ). Then when you install from the conversion that value will be already set to what you entered previously.

Some of the games you mentioned may not have been converted using an inno script but by taking one of the ones posted here that uses inno, and a bit of time changing the background images, wizard images, icon registry settings, application exes etc, write your own inno conversion file, and it will have that value preset.

good luck!! its time consuming, and lots of installing from original then backing up reg settings etc, uninstall & test out conversion process. ( easier to do with 2 pcs readily available )

Joe Forster/STA
16-07-2011, 08:07
Ahhh, you want to change the registry programmatically? You can use Windows' built-in reg command for that.

napalmguy
16-07-2011, 11:01
thanks to all who replied to this thread.

I can't believe many respected members took the time to reply to this post

I'm not experienced user so forgive me for lack of better explanation of my request (I actually was afraid this thread might get deleted)

now I will tell you what I know so far

The game explorer values is in HKLM so it must have administrator rights or UAC turned off for the application to write in it

therefore, the gameuxinstallhelper.dll must be signed to make this system changes

however, the GDF resource file must also be signed for the content rating included in the xml resource to appear in the game explorer

it adds a certain values to the windows registry

example:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\GameUX\Games\{XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}]

"IsSigned"=dword:00000001

where the X's is replace by the game unique GUID and that is a random value created by gameuxinstallhelper.dll during the installation process

so the value changes every time, and i think i just can't add a reg value to the install script to change it

so is there like a code to search for all "IsSigned" dword values and check if it's value is "0" changes it to "1"?

and thanks you all for the help so far

PS: @ pakrat glad to see you again man, the main reason for me to do this is repacking the old Tomb Raider games with community patches and so on to play and install correctly on Windows 7 with an installer like the one from GoG (however, if such games is released on GoG i don't have the money to buy it and I won't pay for a game twice)

Edit: thanks Joe, i tried to look at the reg command but couldn't understand it very much or how i will use this in an innoscript, for example to change all signed values to "1"

pakrat2k2
16-07-2011, 21:41
napalmguy check the link posted by peter, link to game definition file editor and a link on left side menu for windows games explorer.. lots of good info in those pages.

napalmguy
17-07-2011, 00:35
@pakrat i read the whole msdn article before that i got a terrible headache from it
and my question is not covered by that link

Joe Forster/STA
17-07-2011, 04:51
Ohhh, then you don't need command-line programs: there are tons of registry-related functions in InnoScript, see them at http://www.jrsoftware.org/ishelp/topic_scriptfunctions.htm . (No, I don't know InnoScript at all, just looked it up.) Create a loop that reads through all subkeys of HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\GameUX\Games and set IsSigned in those subkeys to 1, if that value is not yet there.

napalmguy
17-07-2011, 10:02
@Joe Right On!

thanks a lot sir and thanks to all other members that helped whether in this thread or by their contributions to this wonderful forum