Jump to content

IE7 RunOnceEx Solution


theunknown

Recommended Posts

I have downloaded the Internet Explorer Administration Kit (IEAK) from the Microsoft site and configured it using that.

It also allows Favorites and RSS Feeds to be added aswell as turning off the startup HTML page which goes through the first run wizard.

http://www.microsoft.com/technet/prodtechn...k7/default.mspx

The IEAK will output a file called IE7setup.exe. If you run this in RunOnceEx with the switch /Q it will install with no user interface. I have tried this on my Virtual PC and it works fine, although it does take a while.

Gareth

Link to comment
Share on other sites

  • 2 weeks later...

Couple of observations on IE7 installation, and reinstallation of version 6.0.2900.2180 (version 6 for simplification) of iernonce.dll, on an existing Windows installation:

First, the file iernonce.dll is not updated until after Windows restarts. After running IE7 install, and before restarting, version 6 of iernonce.dll remains in the %windir%\System32 folder. If you were to overwrite the file prior to a restart, you would accomplish nothing because the IE7 install doesn't complete until the restart has been performed, and version 6 is not replaced by version 7 until this restart.

Second, the version of iernonce.dll is not updated in the %windir%\System32\dllcache folder, although other IE files in the dllcache folder are updated to their version 7 counterparts. iernonce.dll remains version 6.

Don't know how this would affect an install of IE7 at T-13 - is it fully installed then? If not, replacing iernonce.dll immediately after installing IE7 may ultimately fail.

Yes, as you said, iernonce.dll is updated after windows restarts. So if you replace it just after IE7 installfinishes, when windows reboots, the file will reverse to the 7.0 version one. Maybe someone would ask why not install IE7 at T-13 or T-12, and replace iernonce.dll

at RunonceEx stage? don't forget, you have no chance to see the RunonceEx, coz after first reboot, before RunonceEx launches, iernonce.dll has been changed to version 7.0. Still unreasonable.

In fact, you have another method to replace iernonce.dll. That is to replace the file IE7 use to update the older iernonce.dll after reboot. So where's the file ?

Actually, not all of the IE files are updated immediately after IE7 finishes installation, some of the new IE files are renamed to SET**.tmp format and placed under system32 folder, and these new files will be renamed back to the original file name and overwrite the older ones just after windows restart. iernonce.dll is of this kind.

That's why you replacing iernonce.dll just after IE7 install finishes doesn't work, instead you should replace the specified SET**.tmp file for the iernonce.dll. How to find the .tmp file for iernonce.dll?

After IE7 install finishes(before restart), run regedit.exe, you can find a value named PendingFileRenameOperations under [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager], scroll down the value table until you find the "!\??\C:\WINDOWS\system32\iernonce.dll", look at the line up before this one, you should find something like "\??\C:\WINDOWS\system32\SET67.tmp" (the SET67.tmp may be differernt from yours), that's it, it is the temp file name for the new iernonce.dll. After windows reboots, this temp file name will be renamed to iernonce.dll. So all you have to do is replace this file with your old iernonce.dll(in my case is 6.0.2900.2180).Since the temp file name is generated dynamically, how to retrieve it correctly? Don't worry , i have written A autoit script for you to do the job. Here is my way of installing IE7:

1. Use IEAK7 to make a custom copy of IE7 setup package, generally named IE7Setup.exe, extract it with winrar or 7-zip, from the extracted files, you should find a file named IE7-Setup.exe. OK, use /quiet /norestart /update-no /ieak-full: path to current dir with it to install IE7 silently at T-13 or T-12 stage.

2. Place your older iernonce.dll in the folder along with the filecpy.exe. just run filecpy.exe after IE7 install finishes.

------------------------

Directory Structure:

post-110389-1167470669_thumb.jpg

post-110389-1167474184_thumb.jpg

The filecpy.exe autoit source:

Opt( 'TrayIconHide', 1 )

$var = RegRead('HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager', 'PendingFileRenameOperations')
If @error Then Exit

$array = StringSplit($var, @LF)
If @error Then Exit

For $i = 1 To $array[0]
If StringInStr( $array[$i], 'iernonce.dll' ) Then
$array2 = StringSplit( $array[$i-1], '\' )
$iernonceTmpName = $array2[$array2[0]]
If FileExists( @ScriptDir & '\iernonce.dll' ) Then
FileCopy( @ScriptDir & '\iernonce.dll', @SystemDir & '\' & $iernonceTmpName , 1 )
EndIf
ExitLoop
EndIf
Next

Here's my XPlode install code for IE7 at T-12, just for reference.

<item display="IE7">

<execute display="Installing IE7 ...">
<program>#SOURCEDRIVE#\Software\IE7\IE7Setup\IE7-Setup.exe</program>
<arguments>/quiet /norestart /update-no /ieak-full:#SOURCEDRIVE#\Software\IE7\IE7Setup\</arguments>
</execute>
<execute display="Restore iernonce.dll to version 6.0.2900.2180 ...">
<program>#SOURCEDRIVE#\Software\IE7\IERNONCE6\filecpy.exe</program>
</execute>
</item>

By this way, IE7 install perfectly and doesn't interrupt other apps install at RunonceEx, hope it can help.

Finally, sorry for my English..

Edited by Rico.JohnnY
Link to comment
Share on other sites

  • 2 weeks later...

- I used Internet Explorer Administration Kit (IEAK) to customize the IE7 install package.

- Ran the Installation via the RunonceEx method with these switches IE7-Setup.exe /quiet /norestart /update-no

- After XP has finished installing all apps \ settings succesfully windows reboots as it should.

After the reboot I see the updated IE7-icon so one would expect that the installation ran perfectly.

Unfortunately, when I start IE it still opens IE6.....???

note: when I kicked off the installation manually after I noticed this odd installation behavior things were ok after the reboot.

(I used no switches then).

I would like to use the IEAK method as I want my personal settings applied...How do I apply the RunoneEX fix there?

Anyone know where I go wrong?

Link to comment
Share on other sites

Hi guys,

I hope you can help me here.

I tried Rico.JohnnYs autoit script but it did not copy the old ieronce.dll on my systems. I have no idea why. So my new idea was to add a few more lines to the PendingFileRenameOperations registry key hoping that Windows would copy the old dll back to dllcache and system32 directories after it copied the new one.

However I cannot figure out how I can add a few lines to an existing PendingFileRenameOperations key without deleting the entries in there. If I add this command:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager" /v PendingFileRenameOperations /t REG_MULTI_SZ /d "\??\%systemroot%\ie7\iernonce.dll" /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager" /v PendingFileRenameOperations /t REG_MULTI_SZ /d "!\??\%systemroot%\dllcache\iernonce.dll" /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager" /v PendingFileRenameOperations /t REG_MULTI_SZ /d "\??\%systemroot%\ie7\iernonce.dll" /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager" /v PendingFileRenameOperations /t REG_MULTI_SZ /d "!\??\%systemroot%\system32\iernonce.dll" /f

Those entries just overwrite each other and the entries that were there already. Is there a way to add those entries without overwriting the existing ones ?

Thanks for your help !

Alex

Link to comment
Share on other sites

  • 3 weeks later...
- I used Internet Explorer Administration Kit (IEAK) to customize the IE7 install package.

- Ran the Installation via the RunonceEx method with these switches IE7-Setup.exe /quiet /norestart /update-no

- After XP has finished installing all apps \ settings succesfully windows reboots as it should.

After the reboot I see the updated IE7-icon so one would expect that the installation ran perfectly.

Unfortunately, when I start IE it still opens IE6.....???

note: when I kicked off the installation manually after I noticed this odd installation behavior things were ok after the reboot.

(I used no switches then).

I would like to use the IEAK method as I want my personal settings applied...How do I apply the RunoneEX fix there?

Anyone know where I go wrong?

Check Windows activation.

Link to comment
Share on other sites

How do you do that?

Recompress the ie7-setup.exe file, makecab? Its the only progg I've found that will do that, and i don't understand how to make an exe file that takes switches with it.

As im sure we're all aware by now, IE7 seems to break RunOnceEx. Given the large dependency i have on the feature (RIS, 350+ Machines With Many Different App Configs) i set about finding a solution so i could install IE7 at the T-13 stage and have my apps installed at first login. The solution's reasonably simple, grab a copy of IERNONCE.DLL from before IE7 (Latest I Have is 6.0.2900.2180) and replace the one found in the IE7 installer with that version. Setup completes successfully without breaking the usefull RunOnceEx keys.

I'm aware nLite can integrate it (reportedly without breaking RunOnceEx), but im not a fan of nLite's method's. So until a better solution is devised this will tie me over.

Hopefully someone finds the information above useful. If not, no harm done.

Regards, theunknown

And to every other tip, how can you keep the iernonce.dll file after ei7 install and reboots. If you overwrite them after ie7 installs, the just come back when the computer restarts, and then it don't run the RunOnceEx commands waiting.

Is there any other way to auto run after reboot with iernonce.dll ver 7 (the autorun in start menu runs after RunOnceEx so copy anything there runs before the rebbot.)

And of course it should be unattended.

/Bjarne

Link to comment
Share on other sites

  • 2 weeks later...

Well..... It works.... Tested by me right now at T13 and in RunOnceEx and all RunOnceEx programs installed well.

My Windows is XP PRO Portuguese and IE7 is also in Portuguese language.

Edited by fgaifen
Link to comment
Share on other sites

I guess I do not get what you guys are talking about since the IEAK7 allows for a silent install.. That means you do not need switches. So what do all of you mean when you refer to switches for IE7?

Unfortanally for may language that is Portuguese from Portugal, ieak7 is not available yet.... so I have to do by the trick....

Link to comment
Share on other sites

Hey guys,

Microsoft might have fixed the problem. In the latest IE patch, a new version of iernonce.dll for IE7 was included.

the_guy

I will confirm that the new iernonce.dll (7.0.6000.16414) restores previous functionality. Just tested by installing IE7-KB928090 patch, restarting, running RunOnceEx script, and restarting again.

Link to comment
Share on other sites

Yes, it's fixed in KB928090 update for IE7, as it includes the following one:

KB927357 - FIX: The configuration program for an application does not run and the RunOnceEx registry key is cleared when you restart a computer that is running Internet Explorer 7

This KB article also proposes a workaround (I don't know if it works).

Link to comment
Share on other sites

i have been using the original installer from runonceex for a long time now and i nver had any issues (just two progams raised an error when trying to make a url shortcut but i moved the IE installer to the end of my runonceex and it solved that. i tried with both english and spanish setups. all went fine.

you can try install the original installer and then running the new update also from runonceex to see if it solves your problem.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...