strel Posted September 6, 2008 Posted September 6, 2008 (edited) I must clarify I don't merge frameworks, I'm only interested in 2.0 SP2 just for my personal use, and since error seemed to be in 3.x, I'll be confident.EDIT: See post #228 of this thread. Edited September 15, 2008 by strel
Kurt_Aust Posted September 13, 2008 Posted September 13, 2008 Will you be adding support for:NDP1.1sp1-KB947742-X86.exeunder Windows 2000 ?Currently one gets a msiexec options pop-up box.
strel Posted September 15, 2008 Posted September 15, 2008 (edited) During SNM.cmd processing, I observed one item of concern. The Command Prompt displayed the error message: "The System could not find the file specified."About this error when processing .NET 3.5 SP1 full redistributable, it is generated by line 438 of Tomcat's script (434 in the modified version of post #222)...RD/Q/S "!DNF3DIR!DNF30\XPS\amd64"... which refers to a folder resultant from .NET 3.5 package extraction process. I could check that this folder doesn't exist in .NET 3.5 SP1 full redistributable while it does in 3.5 .So this error can be safely ignored when processing .NET 3.5 SP1 full redistributable, or avoided with a REM command at the beginning of the line. After a closer look to the process, I found no reason for your aproach to emerge problems. I'm using only .NET 2.0 SP2 silent installer (from 3.5 SP1 full redist) for my unattended set, with no issues, but I'll report if I'd find something wrong. Folks around, tell us your experiences. Edited October 7, 2008 by strel
strel Posted September 15, 2008 Posted September 15, 2008 (edited) EDIT: This solution has been integrated in Silent .NET Maker synthesizedCurrently one gets a msiexec options pop-up box.Test this (I can't, since I don't run win2k and gives me an error):1. Install .NET 1.1 and all SP1 updates for win2k: NDP1.1sp1-KB867460-X86.exe, NDP1.1sp1-KB928366-X86.exe, NDP1.1sp1-KB947742-X86.exe2. Now you have to edit SNM.cmd, the line 51... START/WAIT %%I /XP:"!TMPDIR!"has to be replaced with... IF %%I==NDP1.1sp1-KB947742-X86.exe ( START/WAIT %%I /extract "!TMPDIR!" ) ELSE ( START/WAIT %%I /XP:"!TMPDIR!" ) Edited December 26, 2008 by strel
Kurt_Aust Posted September 16, 2008 Posted September 16, 2008 That seemed to do the trick, with one modification. I had to moveIF EXIST *.msp FOR /F %%I IN ('DIR/B *.msp') DO (ECHO Processing %%I...&START/WAIT MSIEXEC /p %%I /a "!DNF1DIR!DNF11\netfx.msi" /qb)further down the script, as it complained about sp1 not being installed.The (apparently working) modified section now looks like:IF EXIST dotnetfx.exe IF "%PROCESS_DNF1%"=="YES" ( ECHO Processing .NET 1.1 installer...&MD "!DNF1DIR!DNF11"&CALL :TMPCOUNT START/WAIT dotnetfx.exe /C /T:"!TMPDIR!" START/WAIT MSIEXEC /a "!TMPDIR!\netfx.msi" TARGETDIR="!DNF1DIR!DNF11" /qb IF EXIST NDP1.1*.exe FOR /F %%I IN ('DIR/B/ON NDP1.1*.exe') DO ( ECHO Processing %%I...&CALL :TMPCOUNT START/WAIT %%I /XP:"!TMPDIR!" FOR /F %%I IN ('DIR/B/ON "!TMPDIR!\*.msp"') DO START/WAIT MSIEXEC /p "!TMPDIR!\%%I" /a "!DNF1DIR!DNF11\netfx.msi" /qb IF EXIST "!TMPDIR!\M*.msp" FOR /F %%A IN ('DIR/B/ON "!TMPDIR!\*.msp"') DO ECHO>>DNF1REM.TXT %%~nA ) IF EXIST *.msp FOR /F %%I IN ('DIR/B *.msp') DO (ECHO Processing %%I...&START/WAIT MSIEXEC /p %%I /a "!DNF1DIR!DNF11\netfx.msi" /qb) IF EXIST M*.msp FOR /F %%I IN ('DIR/B/ON M*.msp') DO ( ECHO Processing %%I...&START/WAIT MSIEXEC /p %%I /a "!DNF1DIR!DNF11\netfx.msi" /qb&ECHO>>DNF1REM.TXT %%~nI ) ECHO>INSTALL1.CMD START/WAIT MSISTUB DNF11\netfx.msi /passive /norestart IF EXIST DNF1REM.TXT FOR /F %%I IN (DNF1REM.TXT) DO ( COPY NUL "!DNF1DIR!DNF11\Win\Microsoft.NET\Framework\URTInstallPath\Updates\%%I\%%IUninstall.msp" >NUL ECHO>>DNF11.REG [-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%%I] ) IF EXIST %LANGPACK1_NAME% IF "%PROCESS_DNF1_LNG%"=="YES" ( ECHO Processing %LANGPACK1_NAME%...&CALL :TMPCOUNT START/WAIT %LANGPACK1_NAME% /C /T:"!TMPDIR!" START/WAIT MSIEXEC /a "!TMPDIR!\langpack.msi" TARGETDIR="!DNF1DIR!DNF11" /qb ECHO>>INSTALL1.CMD DIR/B/A-D/S "%%ALLUSERSPROFILE%%"^>AUP.TXT ECHO>>INSTALL1.CMD FOR /F "DELIMS=" %%%%I IN ^('FINDSTR/I /C:"Microsoft .NET Framework 1.1 Configuration.lnk" AUP.TXT'^) DO SET DNFC=%%%%I ECHO>>INSTALL1.CMD FOR /F "DELIMS=" %%%%I IN ^('FINDSTR/I /C:"Microsoft .NET Framework 1.1 Wizards.lnk" AUP.TXT'^) DO SET DNFW=%%%%I ECHO>>INSTALL1.CMD IF DEFINED DNFC DEL/Q/F "%%DNFC%%" ECHO>>INSTALL1.CMD IF DEFINED DNFW DEL/Q/F "%%DNFW%%" ECHO>>INSTALL1.CMD START/WAIT MSISTUB DNF11\langpack.msi /passive FOR /F %%I IN ('DIR/B "!DNF1DIR!DNF11\Program Files\Internet Explorer\MUI"') DO IF NOT "%%I"=="0409" SET DNF11LNGSTR=%%I IF DEFINED DNF11LNGSTR CALL :GETDNF11LNG ) ECHO.)Mind you the extent of my testing so far is to check that it doesn't show on Windows Update and that the updated version of GDI+ is installed.
DarkShadows Posted September 16, 2008 Posted September 16, 2008 (edited) "The System could not find the file specified."About this error when processing .NET 3.5 SP1 full redistributable, it is generated by line 434 of Tomcat's script...RD/Q/S "!DNF3DIR!DNF30\XPS\amd64"... which refers to a folder resultant from .NET 3.5 package extraction process. I could check that this folder doesn't exist in .NET 3.5 SP1 full redistributable while it does in 3.5 .So this error can be safely ignored when processing .NET 3.5 SP1 full redistributable, or avoided with a REM command at the beginning of the line. Since the line in question is only removing a folder, it can be safely changed to this:>Nul 2>&1 RD /Q /S "!DNF3DIR!DNF30\XPS\amd64"The modified line will redirect all regular command output from the console to the Nul (black hole) device using "> Nul". It will also redirect any error output (handle 2) to the same location as regular output (handle 1) using "2>&1". This modification allows the line to execute if the script does find the folder to remove, and it allows the script to work without displaying errors if the folder is not found. B) Edited September 26, 2008 by DarkShadows
Stoner81 Posted September 20, 2008 Posted September 20, 2008 DUDE!!! You are a certified genius for this!!!! Thank you thank you thank you!!!!! for this it has been driving me up the wall trying to sort these out.Mucho respect to you dude!!!!Stoner81.
kal Posted September 21, 2008 Posted September 21, 2008 Hi there,I just want to know something that is not precised on the first post. When using RogueSpear .NET Framework 2.0 silent installer, it runs "Assemblies optimizer" at the end of installation. If I make my own addon using this maker, will it run optimizer too?TIA and cheers,Kal
DarkShadows Posted September 30, 2008 Posted September 30, 2008 @Tomcat76When you next update SNM.cmd, please consider making the following changes. When deleting any temp or working folder, either pre-check for the folder's existence with "IF EXIST" (which in most cases you do just that), or prepend all RD commands with ">Nul 2>&1 ". (There is also no harm in doing both approaches together.)As I discussed in earlier posts, one such line gives a little cause for concern (until one understands what the error message actually pertains to).During SNM.cmd processing, I observed one item of concern. The Command Prompt displayed the error message: "The System could not find the file specified."About this error when processing .NET 3.5 SP1 full redistributable, it is generated by line 434 of Tomcat's script...RD/Q/S "!DNF3DIR!DNF30\XPS\amd64"... which refers to a folder resultant from .NET 3.5 package extraction process. I could check that this folder doesn't exist in .NET 3.5 SP1 full redistributable while it does in 3.5 .So this error can be safely ignored when processing .NET 3.5 SP1 full redistributable, or avoided with a REM command at the beginning of the line. I believe strel is using a modified copy of the SNM.cmd script, because it is actually line 438 in the unmodified copy of SNM.cmd I used.Change Line 438 From This:RD/Q/S "!DNF3DIR!DNF30\XPS\amd64"Change Line 438 To This:>NUL 2>&1 RD/Q/S "!DNF3DIR!DNF30\XPS\amd64"The modified line will redirect all regular command output from the console to the Nul (black hole) device using "> Nul". It will also redirect any error output (handle 2) to the same location as regular output (handle 1) using "2>&1". This modification allows the line to execute if the script does find the folder to remove, and it allows the script to work without displaying errors if the folder is not found. Ensure all installations launched from inside any DNF*.exe package forcefully suppress rebooting.As I discussed in my earlier post, using the current (unmodified) version of SNM.cmd along with the .Net Framework v3.5 SP1 Full Redistributable download, I successfully created and installed the resulting DNF*.exe packages. I installed the packages on both Virtual PC 2007 and on a physical PC. I just recently updated the XPCD for my physical PC, but I made no changes to my RunOnceEx.cmd script, and I used the same DNF*.exe packages tested earlier. This time, when the XPCD installation completed, I noticed that Microsoft .Net Framework 3.0 Service Pack 2 had not been installed. So I rebuilt my XPCD from the ground up again by-the-numbers, reset my PC, and closely monitored the XPCD installation. I noticed the dialogs below during RunOnceEx.Above, we see the Software Update Installation Wizard for one update belonging to the DNF30.exe package. (It is either WIC or XPS.)As this update's install completes, it prompts the user to prevent a system reboot. If one does not check the Do not restart option before the countdown completes, Windows will reboot in the middle of installating the DNF30.exe package. This ultimately results in Microsoft .Net Framework 3.0 Service Pack 2 not being installed. (Interesting sidebar: Microsoft does not post any information whatsoever on 954550 or KB954550, much less KB954550-V5. Even a Google search will find no information about this update number.)As seen above, after checking the Do not restart option before the update forces the system to reboot, will allow the DNF30.exe package installation to proceed as expected. This ultimately results in Microsoft .Net Framework 3.0 Service Pack 2 being installed correctly, although not in an unattended manner. Just to be thorough, I installed the XPCD for my physcial PC on VirtualPC 2007 and I closely monitored its progress. I saw the same dialog flash for about a half a second, but I noticed that the Do not restart option was checked. I'm using exactly the same bits to install, so it is beyond me what is so different about my physical Test PC. Perhaps one my hardware drivers is installing something that DNF30.exe needs to overwrite?To get to the bottom of this issue, I used 7-Zip to extract DNF30.exe, and inspected the INSTALL.CMD script, which in-turn pointed me to the lines of code below from SNM.cmd that do not use the /norestart parameter.Change Line 430 From This:ECHO>>INSTALL3.CMD START/WAIT DNF30\WIC\update\update.exe /passiveChange Line 430 To This:ECHO>>INSTALL3.CMD START/WAIT DNF30\WIC\update\update.exe /passive /norestartChange Line 439 From This:ECHO>>INSTALL3.CMD START/WAIT DNF30\XPS\update\update.exe /passiveChange Line 439 To This:ECHO>>INSTALL3.CMD START/WAIT DNF30\XPS\update\update.exe /passive /norestartI edited my own copy of SNM.cmd thusly, recreated all four DNF*.exe packages, re-integrated my XPCD, and re-installed Windows on my physical PC. Everthing installed as expected. I also recommend the change below, though I did not test this one.Change Line 72 From This:ECHO>>INSTALL1.CMD START/WAIT MSISTUB DNF11\langpack.msi /passiveChange Line 72 To This:ECHO>>INSTALL1.CMD START/WAIT MSISTUB DNF11\langpack.msi /passive /norestartSo hopefully, you will add these changes in the next version.-DS
emzendron Posted October 1, 2008 Posted October 1, 2008 I use the program to merge the files, but still asking for some files (Language Packs in PT-BR Portuguese Brazilian) in Windows Update. The files are:-Microsoft .NET Framework 3.0: Language Pack x86 (KB928416)-Language Pack for Microsoft .NET Framework 2.0 (KB829019)I merged the .NET Framework 1.1, the updates for .NET 1.1, Language Pack in PT-BR for .NET 1.1, .NET Framework 3.5 and the Language Pack in PT-BR for .NET 3.5.Any ideas?
Trolleri Posted October 1, 2008 Posted October 1, 2008 (edited) Hi Tomcat76,and thank you so much for this super script.Q1:The whole thing works to the extend that all are shown in Add/Remove programs, and no errors with applications so far.However, the languagepack for 3.0 SP0 keeps showing on Windows Update and Microsoft Update. I have tried to reinstall the packages several times, and still no luck.Maybe most of you guys probably never use Windows Update, maybe not language packs at all, and furthermore, this error might even be on the sites themselves.But do any of you guys experience the same thing with your localized installations? Share your thoughts.Method:1) Make silent installers by using the following files by the latest script (version 20080603): dotnetfx.exe NDP1.1sp1-KB867460-X86.exe NDP1.1sp1-KB928366-X86.exe langpack.exe dotnetfx35.exe SP0 dotnetfx35langpack_x86da.exe SP02) And the results was: 11.947.839 DNF11_da.exe 17.888.505 DNF20_da.exe 14.976.418 DNF30_da.exe 11.666.889 DNF35.exe3) Integrated DNF20_da.exe by putting it in I386\SVCPACK and SVCPACK.INF4) Integrated the rest with RunOnceEx.cmd in the following order: DNF30_da.exe, DNF35.exe, DNF11_da.exeQ2:The above have been tried on different computermodels, and the result is the same. But should my DNF20_da.exe not be around 40 MB, instead of 17 MB?I use the program to merge the files, but still asking for some files (Language Packs in PT-BR Portuguese Brazilian) in Windows Update. The files are:-Microsoft .NET Framework 3.0: Language Pack x86 (KB928416)-Language Pack for Microsoft .NET Framework 2.0 (KB829019)I merged the .NET Framework 1.1, the updates for .NET 1.1, Language Pack in PT-BR for .NET 1.1, .NET Framework 3.5 and the Language Pack in PT-BR for .NET 3.5.Any ideas?You might consider waiting just a bit, since .NET Framework 3.5 Service pack 1 is on its way. But are you sure that you have downloaded the corresponding language pack? The filename for the full package is still dotnetfx35.exeThese are together:.NET Framework 3.5.NET Framework 3.5 LangPackAnd these are together:.NET Framework 3.5 Service pack 1.NET Framework 3.5 SP1 Language PackThe language pack for SP1 is not available yet in Danish, so...Patience is the greatest of all virtues, and a handful of patience is worth more than a bushel of brains. Edited October 1, 2008 by Trolleri
emzendron Posted October 1, 2008 Posted October 1, 2008 You might consider waiting just a bit, since .NET Framework 3.5 Service pack 1 is on its way. But are you sure that you have downloaded the corresponding language pack? The filename for the full package is still dotnetfx35.exeI follow the links on 1st post... so i think they are correct Thankz.
strel Posted October 2, 2008 Posted October 2, 2008 (edited) I believe strel is using a modified copy of the SNM.cmd script, because it is actually line 438 in the unmodified copy of SNM.cmd I used.You're right, my fault, I think I was using the modified file described on post #222. Has been corrected.Thanks. Edited October 2, 2008 by strel
strel Posted October 7, 2008 Posted October 7, 2008 (edited) ... If I make my own addon using this maker, will it run optimizer too?EDIT: In most recent version, it will run it and wait for it to finish. Silent .NET Maker synthesized Edited January 7, 2009 by strel
Stoner81 Posted October 7, 2008 Posted October 7, 2008 "The System could not find the file specified."About this error when processing .NET 3.5 SP1 full redistributable, it is generated by line 434 of Tomcat's script...RD/Q/S "!DNF3DIR!DNF30\XPS\amd64"... which refers to a folder resultant from .NET 3.5 package extraction process. I could check that this folder doesn't exist in .NET 3.5 SP1 full redistributable while it does in 3.5 .So this error can be safely ignored when processing .NET 3.5 SP1 full redistributable, or avoided with a REM command at the beginning of the line. Since the line in question is only removing a folder, it can be safely changed to this:>Nul 2>&1 RD /Q /S "!DNF3DIR!DNF30\XPS\amd64"The modified line will redirect all regular command output from the console to the Nul (black hole) device using "> Nul". It will also redirect any error output (handle 2) to the same location as regular output (handle 1) using "2>&1". This modification allows the line to execute if the script does find the folder to remove, and it allows the script to work without displaying errors if the folder is not found. B)Where is this line to be found is it in the SNM.cmd file? Would it be possible for the modified one to allow this and the total silent installer maker to be uploaded here this would be awsome!!!!TIA dudes!Stoner81
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now