Question for UpdatePack creators

Questions about Update Pack making? Ask here.
Post Reply
User avatar
kal
Moderator
Posts: 292
Joined: Sun Nov 06, 2005 4:23 pm
Location: Paris/FRANCE

Question for UpdatePack creators

Post by kal » Wed Jul 30, 2008 7:19 am

Hi,

I'm currently updating my UpdatePack for Windows XP SP3 FR, based on RyanVM one. RyanVM included KB898461 hotfixe, but with newer file versions coming with SP3 (KB898461 overwrites SP3 files with outdated version). I'm wondering how could he get BuildDate entries for files :

Code: Select all

HKLM,"%SP4UPDATES%\KB898461\Filelist\0","BuildDate",0,"Fri Jul 27 10:43:13 2007"
HKLM,"%SP4UPDATES%\KB898461\Filelist\1","BuildDate",0,"Fri Jul 27 10:49:53 2007"
...
filever.exe and modifype.exe don't give me this informations. I saw ricktendo64 made the same thing. How can I get the correct builddate ?

Cheers,
Kal

User avatar
crashfly
Posts: 789
Joined: Thu Mar 13, 2008 11:39 pm
Location: Arkansas, USA

Post by crashfly » Wed Jul 30, 2008 8:19 am

Most updates will have that information as a part of their basic file properties. Right-click on an update, select "Properties". Under the 'Version' tab, there should be a place that says 'Build Date'. In theory, this should give you the correct build date of any hotfix or update.
A mind is like a parachute, it only functions when it is open.
--Anonymous

How to Ask Questions the Smart Way

User avatar
kal
Moderator
Posts: 292
Joined: Sun Nov 06, 2005 4:23 pm
Location: Paris/FRANCE

Post by kal » Wed Jul 30, 2008 8:22 am

Sure but it just applies for the update package, not for files included in this update. Moreover, the date is specified, not the time.

Cheers,
Kal

yumeyao
Moderator
Posts: 1718
Joined: Sun Aug 27, 2006 9:24 pm
Location: Taiyuan, Shanxi, PR China

Post by yumeyao » Wed Jul 30, 2008 10:27 am

try pe explorer.
pay attention that time flag in pe explorer is GMT, so you should convert it to your local time zone.
cheers.
Image
My work list(Hosted by dumpydooby)

User avatar
kal
Moderator
Posts: 292
Joined: Sun Nov 06, 2005 4:23 pm
Location: Paris/FRANCE

Post by kal » Wed Jul 30, 2008 11:50 am

It's perfect, thanks dude!

User avatar
kal
Moderator
Posts: 292
Joined: Sun Nov 06, 2005 4:23 pm
Location: Paris/FRANCE

Post by kal » Thu Jul 31, 2008 8:51 am

I have another questions about txtsetup.sif. In Ricktendo64 Latino Update Pack, he includes SilverLight. This one needs to copy files in "Program Files\Microsoft Silverlight". So, theses files need to be in $WIN_NT$.~LS folder in order to be copied by his CopyFile INF section.
So, he wrote in entries.ini :

Code: Select all

[dosnet_files]
...
d1,agcore.dll
d1,npctrl.dll
d1,slup.exe
...
That code will copy these files in $WIN_NT$.~LS as required, if I'm correct.

BUT, he added in txtsetup_files section :

Code: Select all

[txtsetup_files]
...
agcore.dll   = 100,,,,,,,,3,3
npctrl.dll   = 100,,,,,,,,3,3
slup.exe   = 100,,,,,,,,3,3
...
Why is it needed for txtsetup.sif ? txtsetup.sif can only copy files in Windows folder folder/subfolders, and here we need to copy to ProgramFiles folder. Moreover, he didn't specified any destination directory code.

Cheers ;)

User avatar
5eraph
Site Admin
Posts: 4621
Joined: Tue Jul 05, 2005 9:38 pm
Location: Riverview, MI USA

Post by 5eraph » Thu Jul 31, 2008 2:40 pm

The ending "3,3" instructs Windows not to copy those files. You'll notice that in his INF he also has [SourceDisksFiles] and a CopyFiles directive that actually take care of file installation.

User avatar
kal
Moderator
Posts: 292
Joined: Sun Nov 06, 2005 4:23 pm
Location: Paris/FRANCE

Post by kal » Thu Jul 31, 2008 2:54 pm

Sure, I noticed that, and he forgot alsa a SourceDiskName section ;)
By the way, why is it needed to be in txtsetup.sif ?

User avatar
5eraph
Site Admin
Posts: 4621
Joined: Tue Jul 05, 2005 9:38 pm
Location: Riverview, MI USA

Post by 5eraph » Thu Jul 31, 2008 3:06 pm

I'm not sure he forgot anything. I haven't tested to see if it works.

I'd imagine the txtsetup.sif code is needed for the same reason it's needed for CAB files. What that reason is, exactly, I haven't figured out yet.

User avatar
ricktendo64
Posts: 3213
Joined: Mon May 22, 2006 12:27 am
Location: Honduras

Post by ricktendo64 » Thu Jul 31, 2008 7:52 pm

For the [SourceDisksNames.x86] it looks in layout.inf for what 1 equals, look in the version section
[Version]
signature="$Windows NT$"
ClassGUID={00000000-0000-0000-0000-000000000000}
SetupClass=Base
LayoutFile=layout.inf
LAYOUT.INF

Code: Select all

[SourceDisksNames.x86]
1  = %cdname%,%cdtagfilei%,,\i386

[Strings]
...
cdname = "CD-ROM de Windows XP Professional"
...
cdtagfilei   = "\win51ip"
Oh and the files that are copied using inf are copied to 3 (system32\config) because this is how windows does it
Last edited by ricktendo64 on Thu Jul 31, 2008 7:57 pm, edited 2 times in total.

User avatar
kal
Moderator
Posts: 292
Joined: Sun Nov 06, 2005 4:23 pm
Location: Paris/FRANCE

Post by kal » Thu Jul 31, 2008 7:55 pm

Indeed, he didnt' forgot, he used layout.inf to get the diskid.

Rick told me that every files copied by an INF file should use this entrie in txtsetup.sif, as wmplayer does.

EDIT: raced ;)

User avatar
5eraph
Site Admin
Posts: 4621
Joined: Tue Jul 05, 2005 9:38 pm
Location: Riverview, MI USA

Post by 5eraph » Thu Jul 31, 2008 10:36 pm

kal wrote:

Code: Select all

[txtsetup_files]
...
agcore.dll   = 100,,,,,,,,[color=white]3,3[/color]
npctrl.dll   = 100,,,,,,,,[color=white]3,3[/color]
slup.exe   = 100,,,,,,,,[color=white]3,3[/color]
ricktendo64 wrote:Oh and the files that are copied using inf are copied to 3 (system32\config) because this is how windows does it
I'm not so sure about how 3,3 are defined where they are, guys. I'd tend to agree with gosh. But if it works for you then I can't argue. ;)

User avatar
ricktendo64
Posts: 3213
Joined: Mon May 22, 2006 12:27 am
Location: Honduras

Post by ricktendo64 » Fri Aug 01, 2008 12:05 am

OK here is wmplayer.exe, its copied with WMP.INF
[V9Copy.Core]
mplayer2.exe,,,97

npdsplay.dll,,,97
npwmsdrm.dll,,,97
npdrmv2.dll,,,97


wmplayer.exe,,,97
migrate.exe,,,97
custsat.dll,,,97
wmpns.dll,,,97
mpvis.dll,,,97

setup_wm.exe,,,97
Here is that file in TXTSETUP.SIF

Code: Select all

wmplayer.exe =100,,,,,,,,3,3
Will it work if I don't copy the files to system32\config?

Probably...because the files are copied from the disc and not the config folder

Why does Windows copy these files to that folder?

No clue at all

If you look at all i386 files that are copied to %ProgramFiles% and other folders using INF you will see the exact same entries in TXTSETUP.SIF

Edit: But I guess what Gosh said that the second 3 may stop this file from being copied, maybe the entries are useless and wont hurt if they are there or not

User avatar
kal
Moderator
Posts: 292
Joined: Sun Nov 06, 2005 4:23 pm
Location: Paris/FRANCE

Post by kal » Fri Aug 22, 2008 7:32 pm

I have a little issue while translating RyanVM Update Pack to French. I can't get Windows Update start menu shortcut removed. In his pack, he uses :
HKLM,"%RUNONCE%","MU-1",,"REG ADD ""HKLM\%RUNONCE%"" /v ""MU"" /t REG_SZ /d ""CMD /Q /C DEL \"""%16406%\Windows Update.lnk\""" /Q/F"""
This entry will remove Windows Update.lnk at T-13. But, if I launch a cmd.exe session at T-13, this link is not created yet. Any idea?

Cheers ;)

yumeyao
Moderator
Posts: 1718
Joined: Sun Aug 27, 2006 9:24 pm
Location: Taiyuan, Shanxi, PR China

Post by yumeyao » Fri Aug 22, 2008 10:55 pm

yeah, windows installs like this:

installs files that needed by components of syssetup.inf ----- only files(maybe also registerdlls, i haven't checked it so much)
then drivers and networks
installs components of sysoc.inf ----- this time both files and other entries
then from T-13 to end, excuting runonce and addregs, registerdlls(this may be done at very first) and shortcuts by syssetup.inf. then other processes like saving profiles and cleaning up.

ryan's entry will "add a reg entry to runonce" at t-13, after this WU shourcut was created first, then the new created runonce entry will remove it.
Image
My work list(Hosted by dumpydooby)

User avatar
ricktendo64
Posts: 3213
Joined: Mon May 22, 2006 12:27 am
Location: Honduras

Post by ricktendo64 » Sat Aug 23, 2008 2:47 am

I use ExtraFileEdits and rename the shortcut

Code: Select all

[ExtraFileEdits]
SYSSETUP.INF|%windowsupdate% = wupdmgr.exe,wupdmgr.exe,,0,"@%SystemRoot%\system32\shell32.dll,-22580"|%microsoftupdate% = muweb.dll,"rundll32 muweb.dll,LaunchMUSite",muweb.dll,0,"@%SystemRoot%\system32\shell32.dll,-22580"|1
SYSSETUP.INF|windowsupdate = "Windows Update"|microsoftupdate = "Microsoft Update"|1

yumeyao
Moderator
Posts: 1718
Joined: Sun Aug 27, 2006 9:24 pm
Location: Taiyuan, Shanxi, PR China

Post by yumeyao » Sat Aug 23, 2008 3:43 am

yeah, it's like my private build. since i think not every one likes to crack syssetup.dll or disable sfc.
Image
My work list(Hosted by dumpydooby)

User avatar
kal
Moderator
Posts: 292
Joined: Sun Nov 06, 2005 4:23 pm
Location: Paris/FRANCE

Post by kal » Sat Aug 23, 2008 11:28 am

Yeah but RVMi 1.5.3 break non ascii characters in ExtraFileEdits. For me, all "éàè" characters become corrupted... So I can't use that way.

By the way, I observed with regedit and a file explorer what's going on at T13 : command "CMD /Q /C DEL \"""%16406%\Windows Update.lnk\""" /Q/F" is executed just before Windows Update link is created! It's weird because it works with RyanVM update pack... I'm gonna look deeply to see what's the difference between french & english version.

User avatar
kal
Moderator
Posts: 292
Joined: Sun Nov 06, 2005 4:23 pm
Location: Paris/FRANCE

Post by kal » Sat Aug 23, 2008 12:21 pm

That's really weird. Testing on an English XP with RyanVM update pack, here's what's happening :
At T13 , following command is executed :

Code: Select all

"REG ADD ""HKLM\%RUNONCE%"" /v ""MU"" /t REG_SZ /d ""CMD /Q /C DEL \"""%16406%\Windows Update.lnk\""" /Q/F"""
It will result on a"MU" key executed on first reboot

Code: Select all

"CMD /Q /C DEL \"""%16406%\Windows Update.lnk\""" /Q/F"
On my French UpdatePack, with exactly the same entrie for removing wu link in my INF file,, here's what's happening :
At T13 , following command is executed :

Code: Select all

"REG ADD ""HKLM\%RUNONCE%"" /v ""MU"" /t REG_SZ /d ""CMD /Q /C DEL \"""%16406%\Windows Update.lnk\""" /Q/F"""
It will result on a"MU" key executed after all current RunOnce keys, not on first reboot!

An WU link is created after RunOnce step...

Any idea?

User avatar
5eraph
Site Admin
Posts: 4621
Joined: Tue Jul 05, 2005 9:38 pm
Location: Riverview, MI USA

Post by 5eraph » Sat Aug 23, 2008 12:42 pm

You could try deleting the file with RunOnceEx instead.

Code: Select all

HKLM,"%RUNONCEEX%\0000",,0,"Delete Windows Update link"
HKLM,"%RUNONCEEX%\0000",1,0,"CMD /Q /C DEL ""%16406%\Windows Update.lnk"""

..

[Strings]
RUNONCEEX = "SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx"

User avatar
kal
Moderator
Posts: 292
Joined: Sun Nov 06, 2005 4:23 pm
Location: Paris/FRANCE

Post by kal » Sat Aug 23, 2008 1:52 pm

I thought about it, but I prefer to localize the bug. And it's done ;)

I have an AddOn, launching this command at T13 through RunOnce :

Code: Select all

rundll32 setupapi,InstallHinfSection DefaultInstall 128 SweetReg.inf
Executing this will automatically execute every values inside RunOnce key, whatever the content of SweetReg.inf. I've tested on a running windows : same result !

So, why rundll32 setupapi,InstallHinfSection execute RunOnce?

Cheers ;)

User avatar
5eraph
Site Admin
Posts: 4621
Joined: Tue Jul 05, 2005 9:38 pm
Location: Riverview, MI USA

Post by 5eraph » Sat Aug 23, 2008 2:07 pm

RunOnce should automatically execute after any INF completes. Including the one you run at T-13.
Microsoft wrote:All RunOnce entries in the registry are run in the following cases:
  1. At the end of installation through InstallFromHinfSection even in the cases where you must restart the computer.
  2. After the default processing of DIF_INSTALLDEVICE even if you must restart the computer (with the exception of server-side processing).
  3. After the system has been restarted.
Programs that must run once when the computer is restarted should be specified through RunOnceEx entries.
Last edited by 5eraph on Sat Aug 23, 2008 2:14 pm, edited 2 times in total.

User avatar
kal
Moderator
Posts: 292
Joined: Sun Nov 06, 2005 4:23 pm
Location: Paris/FRANCE

Post by kal » Sat Aug 23, 2008 2:09 pm

Arg, I was reading this one! Microsoft should put all informations about RunOnce/RunOnceEx on a single page :lol:

Thanks, problem solved.
Cheers!

User avatar
5eraph
Site Admin
Posts: 4621
Joined: Tue Jul 05, 2005 9:38 pm
Location: Riverview, MI USA

Post by 5eraph » Sat Aug 23, 2008 2:53 pm

You're welcome.

I guess I'll convert my own as well with code similar to that above just to be safe. Probably without the description line which should make it silent even if a Title value is added later.

Post Reply