strel Posted November 1, 2008 Posted November 1, 2008 (edited) EDIT: Solution here has been superseded by the one in Silent .NET Maker synthesizedI have incorporated the modifications proposed in posts #222, #229 and #234, in page 12 of this thread, to make a synthesized version of Tomcat's script that work with all new .NET framework updates, both for XP and 2000 x86 until date, in order to ease your work. That is, in addition to what original Tomcat's script support, this version:- Builds real silent installers, without packet unzipping progress boxes, as proposed in post #222.- Support NDP1.1sp1-KB947742-X86.exe update under windows 2000, as proposed in post #229- Support .NET framework 3.5 SP1 as proposed in post #234 by DarkShadows.... Edited December 26, 2008 by strel
Kiki Burgh Posted November 4, 2008 Posted November 4, 2008 thanks for the added work strel ... i shall try this ...
SlipStreamer Posted November 4, 2008 Posted November 4, 2008 Having problems. n00b problems.Both silent .net makers compile a file called DNF20.exe - I add that to nlite and, while processing, the program is integrating the file, an error is displayed saying that it's not an expected type of hotfix.I urgently need to slipstream .net 2.0 SP1. Help!
strel Posted November 4, 2008 Posted November 4, 2008 (edited) The installers obtained by this method are not of the form of a hotfix suitable to nlite "hotfix-addons-updates packs" section. Instead you should use methods proposed in first post. If you want to integrate .NET framework in that fashion You'll find what you're searching in the link in post #242 Edited November 18, 2008 by strel
SlipStreamer Posted November 4, 2008 Posted November 4, 2008 The installers obtained by this method are not of the form of a hotfix suitable to nlite "hotfix-addons-updates packs" section. Instead you should use methods proposed in first post. If you want to integrate .NET framework in that fashion You'll find what you're searching in the link in post #242Thanks... I'll try with a RunOnce string.
gr11x Posted November 4, 2008 Posted November 4, 2008 (edited) @strel:Using your modified script there is still a problem while processing the German Language Pack for .NET 3.5 SP1:Translated:An unexpected error occurred while installing this package.Possibly this is a package-related problem.The error code is 2728.Any ideas?Update:It seems that the file netfx30lpa_x86.msi is not found in \TMP\TMP2\ADMIN30A_LNG\. Actually the whole directory does not exist. Edited November 4, 2008 by gr11x
Stoner81 Posted November 4, 2008 Posted November 4, 2008 I have incorporated the modifications proposed in posts #222, #229 and #234, in page 12 of this thread, to make a synthesized version of Tomcat's script that work with all new .NET framework updates, both for XP and 2000 x86 until date, in order to ease your work. That is, in addition to what original Tomcat's script support, this version:- Builds real silent installers, without packet unzipping progress boxes, as proposed in post #222.- Support NDP1.1sp1-KB947742-X86.exe update under windows 2000, as proposed in post #229- Support .NET framework 3.5 SP1 as proposed in post #234 by DarkShadows.To achieve this:1. Follow the instructions described by Tomcat in the first post, steps 1 to 4, not 5, that is, don't run Tomcat original script. And in step 3, do not download .NET framework 3.5 as proposed, instead download .NET framework 3.5 SP1 full reditributable2. Optionally, if you use windows 2000, download the update NDP1.1sp1-KB947742-X86.exe.3. Download which includes:- Sythesized version of Tomcat's script.....................................SNM_mod2.cmd- Oleg_Sch's modified 7-zip sfx utility 1.2b861...........................7zSD.sfxand extract it in your work folder.4. Now run SNM_mod2.cmd and you have it. Feedback appreciated.OH MAN!!!!!! I could kiss you for this dude!!!! Awsome job downloading the extra bits now and will run it, amazing job buddy as always your hard work is very much appreciated!!!Thanks again Stoner81
anthonyaudi Posted November 4, 2008 Posted November 4, 2008 Hello Boys.Ok so I tried this new version and dotnet still does not install.Here is what I didI followed instructions 1 to 4 from the first post.I downloaded the dotnet 3.5 version that was put in Stoner81's post.In my folder SNM I have dotnet 1.1//2.0//3.0//3.5 <--From Stoner81 post the 232 mb version.I have the NDP1.1sp1-KB947742-X86.exe <--I am not using Win2k I don't know if that would make a difference.I run the modified batch file and it creates a 53mb fileI put the file in the HFGUIRUNONCE folder and create my ISO.Once my ISO is created I install Windows on a VMAfter the installation is complete I go to Windows Update and the only 2 updates that I have to do are dotnet 1.1 and dotnet 2.0Perhaps I did something wrong?
strel Posted November 6, 2008 Posted November 6, 2008 After the installation is complete I go to Windows Update and the only 2 updates that I have to do are dotnet 1.1 and dotnet 2.0If you don't run win2k you don't need NDP1.1sp1-KB947742-X86.exe, but don't interfere in results-I don't use HFslip, so I don't know if HFGUIrunonce is the apropiate place from which to install, but you can try Runonceex, Runonce or GUIrunonce methods manually.From the first post:This script is primarily intended to create installers for an unattended Windows installation, and since .NET 3.0 SP1 should be installed at first GUI logon and .NET 2.0 SP1 doesn't have to be necessarily, it is better to keep them separated to give you more leeway as to what should be installed when.I don't merge installers so I can't tell you nothing about the merged one, but I'd try with separate installers.
strel Posted November 6, 2008 Posted November 6, 2008 (edited) ...An unexpected error occurred while installing this package.Possibly this is a package-related problem.The error code is 2728...This problem has been described last august in post #217, but no solution yet. I've done this:EDIT: Solution here has been superseded by the one in Silent .NET Maker synthesizedThe changes applies on the original script:- Right after this line:IF EXIST _SNM.ini FOR /F "DELIMS=" %%I IN ('FINDSTR/R "=" _SNM.ini') DO SET %%II've inserted this:IF "%PROCESS_DNF35%"=="YES" IF EXIST dotnetfx35.exe ( IF NOT EXIST FILEVER.VBS ( ECHO>>FILEVER.VBS Set objFSO = CreateObject^("Scripting.FileSystemObject"^) ECHO>>FILEVER.VBS Wscript.Echo objFSO.GetFileVersion^(WScript.arguments^(0^)^) ) IF EXIST dotnetfx35langpack_x86*.exe ( IF "%PROCESS_DNF2%"=="YES" IF "%PROCESS_DNF2_LNG%"=="YES" IF EXIST NetFx20SP1_x86.exe IF EXIST NetFx20SP1_x86*.exe SET PROCESSING20SP1LNG=1 IF "%PROCESS_DNF2_LNG%"=="YES" IF NOT DEFINED PROCESSING20SP1LNG SET PROCESS_DNF35_LNGEXE=YES IF NOT "%MERGE_FRAMEWORKS%"=="12" IF "%PROCESS_DNF3_LNG%"=="YES" SET PROCESS_DNF35_LNGEXE=YES&IF "%PROCESS_DNF35_LNG%"=="YES" SET PROCESS_DNF35_LNGEXE=YES IF DEFINED PROCESS_DNF35_LNGEXE ( FOR /F %%I IN ('DIR/B dotnetfx35langpack_x86*.exe') DO ( IF DEFINED LOOP ECHO ERROR: Too many dotnetfx35langpack_x86*.exe files to process in the work folder.&PAUSE&EXIT FOR /F %%J IN ('CSCRIPT //NOLOGO filever.vbs %%I') DO FOR /F %%K IN ('CSCRIPT //NOLOGO filever.vbs dotnetfx35.exe') DO ( IF "%%J"=="%%K" ( IF "%%J"=="3.5.30729.1" SET DNF35VER=3.5 SP1&SET DNF30VER=3.0 SP2&SET DNF20VER=2.0 SP2 IF "%%J"=="3.5.21022.8" SET DNF35VER=3.5&SET DNF30VER=3.0 SP1&SET DNF20VER=2.0 SP1 ) ELSE ECHO ERROR: dotnetfx35.exe - %%I version mismatch&PAUSE&EXIT ) SET LOOP=1 ) ) ) ELSE FOR /F %%J IN ('CSCRIPT //NOLOGO filever.vbs dotnetfx35.exe') DO ( IF "%%J"=="3.5.30729.1" SET DNF35VER=3.5 SP1&SET DNF30VER=3.0 SP2&SET DNF20VER=2.0 SP2 IF "%%J"=="3.5.21022.8" SET DNF35VER=3.5&SET DNF30VER=3.0 SP1&SET DNF20VER=2.0 SP1 ))IF "%PROCESS_DNF2%"=="YES" IF EXIST NetFx20SP1_x86.exe ( IF "%DNF20VER%"=="2.0 SP2" (ECHO ERROR: Too many .NET 2.0 versions to process - SP1 in NetFx20SP1_x86.exe and SP2 in dotnetfx35.exe.&PAUSE&EXIT) ELSE SET DNF20VER=SP1)SET LOOP=IF EXIST NetFx20SP1_x86*.exe FOR /F %%I IN ('DIR/B NetFx20SP1_x86*.exe') DO IF NOT "%%I"=="NetFx20SP1_x86.exe" ( IF DEFINED LOOP ECHO ERROR: Too many NetFx20SP1_x86*.exe langpacks to process in the work folder.&PAUSE&EXIT SET LOOP=1)- I've substituted all the strings of the form "LNGSTR=_" without the quotes, with "LNGSTR=" without the quotes, and...this line: SET SSIP=1&ECHO Processing .NET 2.0 installer...&CALL :TMPCOUNTwith this other: SET SSIP=1&ECHO Processing .NET %DNF20VER% installer...&CALL :TMPCOUNTthis line: SET SSIP=1&ECHO Processing custom .NET 3.0 admin install...with this other: SET SSIP=1&ECHO Processing custom .NET %DNF30VER% admin install...this line: SET SSIP=1&ECHO Processing custom .NET 3.5 admin install...with this other: SET SSIP=1&ECHO Processing custom .NET %DNF35VER% admin install...this line: SET SSIP=1&ECHO Processing .NET 3.5 installer...&CALL :TMPCOUNTwith this other: SET SSIP=1&ECHO Processing .NET %DNF35VER% installer...&CALL :TMPCOUNTthese lines:IF "%MERGE_FRAMEWORKS%"=="12" ( ECHO Creating merged .NET 1.1 and 2.0 SP1 installer...&SET NAME=DNF11_20&SET FLD=DNF&CALL :EXEMAKER) ELSE IF "%MERGE_FRAMEWORKS%"=="FULL" ( ECHO Creating merged .NET installer...&SET NAME=DNF_all&SET FLD=DNF&CALL :EXEMAKER) ELSE ( IF EXIST DNF1 (ECHO Creating silent .NET 1.1 installer...&SET NAME=DNF11%DNF11LNGSTR%&SET FLD=DNF1&CALL :EXEMAKER) IF EXIST DNF2 (ECHO Creating silent .NET 2.0 SP1 installer...&SET NAME=DNF20%DNF20LNGSTR%&SET FLD=DNF2&CALL :EXEMAKER) IF EXIST DNF3 (ECHO Creating silent .NET 3.0 SP1 installer...&SET NAME=DNF30%DNF30LNGSTR%&SET FLD=DNF3&CALL :EXEMAKER) IF EXIST DNF35 (ECHO Creating silent .NET 3.5 installer...&SET NAME=DNF35&SET FLD=DNF35&CALL :EXEMAKER))with these others:IF "%MERGE_FRAMEWORKS%"=="12" ( ECHO Creating merged .NET 1.1 %DNF11LNGSTR% and %DNF20VER% %DNF20LNGSTR% installer...&SET NAME=DNF11%DNF11LNGSTR%20%DNF20VER:~-3%%DNF20LNGSTR%&SET FLD=DNF&CALL :EXEMAKER) ELSE IF "%MERGE_FRAMEWORKS%"=="FULL" ( ECHO Creating merged .NET 1.1 %DNF11LNGSTR%, %DNF20VER% %DNF20LNGSTR%, %DNF30VER% %DNF30LNGSTR% and %DNF35VER% %DNF35LNGSTR% installer...&SET NAME=DNF11%DNF11LNGSTR%20%DNF20VER:~-3%%DNF20LNGSTR%30%DNF30VER:~-3%%DNF30LNGSTR%35%DNF35VER:~-3%%DNF35LNGSTR%&SET FLD=DNF&CALL :EXEMAKER) ELSE ( IF EXIST DNF1 (ECHO Creating silent .NET 1.1 installer...&SET NAME=DNF11%DNF11LNGSTR%&SET FLD=DNF1&CALL :EXEMAKER) IF EXIST DNF2 (ECHO Creating silent .NET %DNF20VER% installer...&SET NAME=DNF20%DNF20VER:~-3%%DNF20LNGSTR%&SET FLD=DNF2&CALL :EXEMAKER) IF EXIST DNF3 (ECHO Creating silent .NET %DNF30VER% installer...&SET NAME=DNF30%DNF30VER:~-3%%DNF30LNGSTR%&SET FLD=DNF3&CALL :EXEMAKER) IF EXIST DNF35 (ECHO Creating silent .NET %DNF35VER% installer...&SET NAME=DNF35%DNF35VER:~-3%%DNF35LNGSTR%&SET FLD=DNF35&CALL :EXEMAKER))and these lines:START/WAIT MSIEXEC /a "!TMPDIR!\LNGEXT\netfx30lp\netfx30lpa_x86.msi" TARGETDIR="!TMPDIR!\ADMIN30A_LNG" /qbSTART/WAIT MSIEXEC /a "!TMPDIR!\ADMIN30A_LNG\netfx30lpa_x86.msi" TARGETDIR="!DNF3DIR!DNF30\LNG" /qbFOR /F %%I IN ('DIR/B/ON "!TMPDIR!\LNGEXT\netfx30lp\*.msp"') DO ( START/WAIT MSIEXEC /p "!TMPDIR!\LNGEXT\netfx30lp\%%I" /a "!DNF3DIR!DNF30\LNG\netfx30lpa_x86.msi" /qb)with these others:IF "%DNF35VER%"=="3.5" ( START/WAIT MSIEXEC /a "!TMPDIR!\LNGEXT\netfx30lp\netfx30lpa_x86.msi" TARGETDIR="!TMPDIR!\ADMIN30A_LNG" /qb START/WAIT MSIEXEC /a "!TMPDIR!\ADMIN30A_LNG\netfx30lpa_x86.msi" TARGETDIR="!DNF3DIR!DNF30\LNG" /qb FOR /F %%I IN ('DIR/B/ON "!TMPDIR!\LNGEXT\netfx30lp\*.msp"') DO START/WAIT MSIEXEC /p "!TMPDIR!\LNGEXT\netfx30lp\%%I" /a "!DNF3DIR!DNF30\LNG\netfx30lpa_x86.msi" /qb)IF "%DNF35VER%"=="3.5 SP1" ( FOR /F %%I IN ('DIR/B/ON "!TMPDIR!\LNGEXT\netfx30lp\*.msp"') DO START/WAIT MSIEXEC /p "!TMPDIR!\LNGEXT\netfx30lp\%%I" /a "!TMPDIR!\LNGEXT\netfx30lp\netfx30lpa_x86.msi" /qb START/WAIT MSIEXEC /a "!TMPDIR!\LNGEXT\netfx30lp\netfx30lpa_x86.msi" TARGETDIR="!DNF3DIR!DNF30\LNG" /qb)And there you have it. Now I'm gonna combine this with the synthesized version. Edited December 26, 2008 by strel
strel Posted November 6, 2008 Posted November 6, 2008 (edited) I have incorporated to a SILENT .NET MAKER SYNTHESIZED version, the modifications proposed in posts #222, #229, #234 and #265 of this thread, to make a script that work with all new x86 .NET framework updates until date, in order to ease your work. That is, in addition to what original Tomcat's script support, this version:- Builds real silent installers, without installers unzipping progress boxes, as proposed in post #222.- Support NDP1.1sp1-KB947742-X86.exe update under windows 2000, as proposed in post #229- Support .NET framework 3.5 SP1 as proposed in post #234 by DarkShadows.- Support .NET framework 3.5 SP1 language packs as proposed in post #265, EDIT: but only for .NET 3.0 SP2 and .NET 2.0 SP2 (included), not for 3.5 SP1, as undelined by gr11x in the next postTo achieve this:EDIT: Here there was a link to the modified script, but have been updated by the one in post #279. Edited November 18, 2008 by strel
gr11x Posted November 6, 2008 Posted November 6, 2008 @strel:Version 3 of your script is working quite well now, just one point is missing: the language pack for .NET 3.5 SP1 is not listed as installed software afterwards (but for .NET 3.0 SP2):After installing the language pack again all seems correctly installed:Also I don't see any entries for .NET 1.1 SP1, is this correct?Thanks in advance and great work so far!
atolica Posted November 6, 2008 Posted November 6, 2008 @strel1. Follow the instructions described by Tomcat in the first post, steps 1 to 4, not 5What instructions do you mean? Can you be more specific? I have read them all and I don't understand what steps are to be taken.If I install merged .net 1.1+hotfixes and .net 2 and then dotnet3 without sp1, in windows update .net 1.1 and .net 2 do show up. They are not installed. So probably .net3 (without sp1) installation routine uninstalls .net1.1 and net.2. Something is not right with the script.I'd like to install and ONLY these:Net 1.1 +2 hotfixes = Net Framework 1.1 redist + NDP1.1sp1-KB867460-X86.exe + NDP1.1sp1-KB928366-X86.exeNetFx20SP1_x86.exe = Net Framework + SP1 redistributableNetFx30SP1_x86.exe = Net Framework + SP1 redistributableand XPSEPSC-x86-en-US.exe as a prerequisite for NetFx30SP1_x86.exe. I don't want to install Net Framework 3.5
gr11x Posted November 6, 2008 Posted November 6, 2008 Are you using merged individual installer?I use 3 packages:.NET 1.1.NET 2.0 (created from .NET 3.5 SP1).NET 3.0 + 3.5 (created from .NET 3.5 SP1)The three files DNF20_de.exe, DNF35_de.exe, DNF11_de.exe are installed in that order during first login via runoncex.cmd.My _SNM.ini:; SNM.CMD default configuration settings. "YES" means "if it exists".; PROCESS MAIN PACKAGESPROCESS_DNF1=YESPROCESS_DNF2=YESPROCESS_DNF3=YESPROCESS_DNF35=YES; HANDLING OF INDIVIDUAL FRAMEWORKS IN .NET 3.5PROCESS_DNF35_DNF2=SEPARATEPROCESS_DNF35_DNF3=YESPROCESS_DNF35_DNF35=YES; PROCESS SUBCOMPONENTS OF .NET 3.0 SP1PROCESS_DNF3_RGBRAST=YESPROCESS_DNF3_WINIMAGING=YESPROCESS_DNF3_MSXML6=YESPROCESS_DNF3_XMLPSSC=YES; PROCESS LANGUAGE PACKSLANGPACK1_NAME=langpack.exePROCESS_DNF1_LNG=YESPROCESS_DNF2_LNG=YESPROCESS_DNF3_LNG=YESPROCESS_DNF35_LNG=YES; SPECIAL; Set MERGE_FRAMEWORKS to 12 to merge .NET 1.1 with .NET 2.0 SP1.; Set MERGE_FRAMEWORKS to FULL to make a single complete package.; If the temporary file appears to not go up in size anymore after several minutes,; decrease the compression ratio. Accepted values: MED and LOW. Try MED first.MERGE_FRAMEWORKS=COMPRESSION_RATIO=
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