Help - Search - Members - Calendar
Full Version: Silent .NET Maker (latest update: 20080603)
MSFN Forums > Unattended Windows Discussion & Support > Application Installs
Pages: 1, 2, 3, 4, 5, 6, 7, 8

   


Google Internet Forums Unattended CD/DVD Guide
Tomcat76

Silent .NET Maker

This batch utility allows you to create your own silent switchless installers for .NET 1.1, .NET 2.0 SP1, .NET 3.0 SP1 and .NET 3.5. They are compatible with Windows 2000 (except .NET 3.x), Windows XP x86 and Windows Server 2003 x86 (except .NET 1.1). The installers for .NET 1.1 and 2.0 SP1 can be installed at T-13.

Quick download: SNM.zip
Changelog: see bottom


Supported:
- .NET 1.1 package
- any NDP1.1*.exe, Sxxxxxx.msp and Mxxxxxx.msp hotfix for .NET 1.1
- language pack for .NET 1.1
- .NET 2.0 SP1 package (NetFx20SP1_x86.exe)
- language pack for .NET 2.0 SP1 (NetFx20SP1_x86XX.exe)
- language pack for .NET 3.0 SP1 (NetFx30SP1_x86XX.exe -- not recommended)
- full .NET 3.5 package (dotnetfx35.exe -- contains .NET 2.0 SP1, .NET 3.0 SP1 and .NET 3.5)
- language pack for .NET 3.5 (dotnetfx35langpack_x86XX.exe -- only .NET 2.0 SP1 and .NET 3.0 SP1 portions are supported)

Hotfixes and language packs require the main .NET package they apply to. This script is not intended to create installers for hotfixes or language packs only.

Processing a specific version of .NET requires it to be already installed on the system on which you run this script (.NET 1.1 needs to be installed if you want to process .NET 1.1 and .NET 2.0 SP1 needs to be installed if you want to process .NET 2.0 SP1). For .NET 3.0 SP1, it is enough to have .NET 2.0 SP1 installed. For .NET 3.5, you need at least .NET 3.0 SP1 installed which in turn requires .NET 2.0 SP1. This is not a limitation of the script, but of the fact that an administrative installation can't be processed if the packages aren't installed "normally" first.


MSXML6 in .NET 3.0 SP1...
Currently, .NET 3.0 SP1 contains the latest version of MSXML6 SP1 so it isn't needed to include it separately in the root of the SNM working folder anymore. Please remove it if it exists because SNM will assume it's newer than the MSXML6 package in .NET 3.0 SP1.
When DNF30.exe or DNF35.exe is installed, MSXML6 binaries are only copied if they don't yet exist in system32. This decision was made because Windows XP SP3 contains MSXML6 SP2.


.NET 3.0 SP1 language pack...
While the standalone .NET 3.0 SP1 language pack (NetFx30SP1_x86XX.exe) is supported, it is not recommended to use it because it doesn't contain the localized XML Paper Specification update. It's better to use the language pack for .NET 3.5 which contains the complete .NET 3.0 SP1 language pack. In this case, you can also ignore the standalone language pack for .NET 2.0 SP1 (NetFx20SP1_x86XX.exe) if applicable because it's also part of the .NET 3.5 language pack.


.NET 3.5 language pack...
This pack is fully supported with the exception of the language pack for .NET 3.5 itself. I'm still struggling with that bit, so only the .NET 2.0 SP1 and .NET 3.0 SP1 language packs are processed.


Hotfixes for .NET 2.0 SP1 and .NET 3.0 SP1...
These aren't really supported because I don't know of any, so I can't know how they will be named or how they should be processed. Silent .NET Maker currently assumes the names of the updates for .NET 2.0 SP1 start with "NetFX20" and those for .NET 3.0 SP1 with "NetFX30" but that may need to be changed.


.NET 3.x notes...
.NET 3.0 SP1 can't be installed at T-13 (SVCPACK) because it breaks the WebClient service; it must be installed at first GUI logon.
.NET 3.0 SP1 won't install if you install .NET 1.1 in the same go unless you install .NET 1.1 AFTERWARDS.
By default, Silent .NET Maker will split the individual frameworks from the .NET 3.5 package into DNF20.exe, DNF30.exe and DNF35.exe. 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.
If you want to change the default behavior, open _SNM.ini (the answer file) in a basic text editor and change the default settings to:
PROCESS_DNF35_DNF2=YES if you want .NET 2.0 SP1 included in the DNF35.exe package
PROCESS_DNF35_DNF3=YES if you want .NET 3.0 SP1 included in the DNF35.exe package


Answer file...
The answer file _SNM.ini allows you to modify some things to your needs. For example, to merge .NET 1.1 and .NET 2.0 SP1 packages, open the answer file in a basic text editor and set MERGE_FRAMEWORKS at the bottom to 12 (MERGE_FRAMEWORKS=12 without any spaces). The answer file included in the script package shows the defaults used by the script, so you only need it if you want to modify something.


Merging packages...
To merge .NET 1.1 with .NET 2.0 SP1, set MERGE_FRAMEWORKS in the answer file to 12.
To make a single package containing all processed .NET Frameworks, set MERGE_FRAMEWORKS to FULL. In order to allow .NET 3.0 SP1 installation to complete, .NET 1.1 is installed last. If you don't like the sound of this... don't do it.
MERGE_FRAMEWORKS=12
MERGE_FRAMEWORKS=FULL


Setting compression ratio...
If the temporary file named TEMP.7z doesn't change size for several minutes, it is more than likely your system cannot handle the default compression ratio used by the script. At the bottom of the answer file you can find a variable called COMPRESSION_RATIO; set it to MED (medium) or LOW if you are experiencing problems. Try MED first.
COMPRESSION_RATIO=MED
COMPRESSION_RATIO=LOW


Extra features of the outputted .NET 1.1 installer:
- if a language pack is integrated, it will be reflected in the name of the outputted installer (eg, DNF11_es.exe)
- if any hotfix for .NET 1.1 SP1 is slipstreamed, its useless entry is removed from Add/Remove Programs
- if the language pack is integrated, the English .NET 1.1 configuration/wizards links are removed from the Administrative Tools folder


Extra features of the outputted .NET 2.0 SP1 installer:
- if a language pack is integrated, it will be reflected in the name of the outputted installer (eg, DNF20_fr.exe)
- if the system on which it's installed is not Windows 2000 and if Windows setup is in progress, the registry is modified to allow .NET 2.0 SP1 to be installed from SVCPACK
- if any hotfix for .NET 2.0 SP1 is slipstreamed, its useless entry is removed from Add/Remove Programs


Extra features of the outputted .NET 3.0 SP1 installer:
- if a language pack is integrated, it will be reflected in the name of the outputted installer (eg, DNF30_fr.exe)
- if the system on which it's installed is not Windows 2000 and if Windows setup is in progress, the registry is modified to allow .NET 2.0 SP1 to be installed from SVCPACK
- the .NET 3.0 SP1 portions are not processed if the system is Windows 2000
- if any hotfix for .NET 3.0 SP1 is slipstreamed, its useless entry is removed from Add/Remove Programs


Features specific to the script only:
- the installers are created in a subfolder of which the name is "OUT" followed by a number starting with "1"
- if the script is run again, it will create the installers in a new OUT* folder as to not overwrite the previous ones
- empty OUT* folders are deleted
- any remaining temporary folders and files from a previous failed run are removed first


Instructions:
1) Download the script package and extract it into a folder of your choice. The path can contain spaces but no special characters such as exclamation marks.
2) Read readme.txt if it's your first time
3) Download the .NET installer(s) you wish to have processed into the folder you created:
- .NET 1.1
- NDP1.1sp1-KB867460-X86.exe
- NDP1.1sp1-KB928366-X86.exe
- language pack for .NET 1.1 in your language
- .NET 2.0 SP1 (do not rename; not needed if including dotnetfx35.exe)
- language pack for .NET 2.0 SP1 in your language (do not rename; not needed if including both dotnetfx35.exe and the language pack for dotnetfx35.exe)
- .NET 3.5 (full redist called dotnetfx35.exe with a size of 197MB)
- language pack for .NET 3.5 in your language (do not rename)
4) Optionally, edit _SNM.ini (the answer file) to your needs
5) Run the script by double-clicking SNM.cmd from within a Windows account with administrative privileges


Tested and found working on:
- Windows 2000 SP4 (English)
- Windows XP SP2 (English and Dutch)


Thanks to Oleg_Sch for the hidcon.exe and msistub.exe utilities.
hidcon.exe: totally hide the DOS box that would appear when the batch file in a silent installer is run
msistub.exe: interface with MSIEXEC.EXE


Also thanks to Acheron for letting me know how to create a usable administrative install of .NET 2.0 SP1.


Changelog:
20080603
- allowed creating merged .NET 1.1 and .NET 2.0 SP1 installer with dotnetfx.exe and dotnetfx35.exe as input files
- names of .NET 2.0 SP1 hotfixes are expected to start with "NetFX20" instead of "NDP20"
- attempting to get the language of the language pack for .NET 1.1 for the name of the standalone .NET 1.1 output file (eg, DNF11_es.exe)
- code cleanup
20080530b
- fixed support for Chinese Simplified, Chinese Traditional, Portuguese and Portuguese Brazil language packs for .NET 2.0 SP1, .NET 3.0 SP1 and .NET 3.5
20080530
- added support for NetFx20SP1_x86.exe, NetFx20SP1_x86XX.exe, NetFx30SP1_x86XX.exe and dotnetfx35.exe
- added almost complete support for dotnetfx35langpack_x86XX.exe (.NET 2.0 SP1 and .NET 3.0 SP1 language packs)
- if a language pack is integrated, the name of the silent DNF20 and DNF30 executables will contain the language code (eg, DNF30_fr.exe)
- included newer version of 7zS.sfx (version 4.57 + custom icon + compressed with UPX 3.03)
- updated _SNM.ini
- to make a single installation package, MERGE_FRAMEWORKS=13 should now be MERGE_FRAMEWORKS=FULL
- during setup of DNF30.exe and DNF35.exe, MSXML6 binaries are only copied if they don't yet exist in system32
- removed support for .NET 2.0, .NET 2.0 language pack, NET 3.0 and .NET 3.0 language pack
20070712b
- fixed bug with merged .NET 1.1/3.0 installer whereby .NET 1.1 would fail to install on Win2K
- changed processing order of .NET 1.1 hotfixes just in case (S*.msp, then NDP1.1*.exe, then M*.msp)
- Add/Remove Programs entry is now removed for all current and future .NET 2.0 hotfixes
- Add/Remove Programs entry is now removed for all current and future .NET 3.0 hotfixes
20070710b
- removed support for hotfixes named NDP1.1*.msp; use the original Sxxxxxx.msp and Mxxxxxx.msp names
- Add/Remove Programs entry is now removed for all current and future .NET 1.1 hotfixes (previously only KB886903)
20070710
- allowed slipstreaming of NetFX30*.msp files for Windows Presentation Foundation and the .NET 3.0 "wrapper"
- now checking for the existence of Windows Presentation Foundation and the .NET 3.0 "wrapper" before applying a NetFX30 patch
- you can now have a mix of *.msp and *.exe hotfixes for all .NET packages (previously only one type was allowed per package)
20070709
- added support for NetFX30-KB*.exe hotfixes for Windows Presentation Foundation (like KB932471) or the .NET 3.0 "wrapper"
20070624b
- workaround for harmless error message which appeared when SNM created empty dummy file
20070624
- added support for xpsepsc*.exe updates for .NET 3.0 and .NET 3.0 langpack; they don't have to be renamed
- it's no longer needed to rename msxml6_x86.msi to msxml6.msi
- the dummy file for KB886903 for .NET 1.1 is now 0KB instead of 1KB
20070201
- the entries in Add/Remove Programs for the .NET 2.0 hotfixes are removed
20070127
- msistub.exe (2.5 KB) is now used instead of StartX.exe (164.0 KB)
- the PROCESS_DNF3_DNF2 variable now defaults to SEPARATE, which means: create DNF20.exe and don't include .NET 2.0 in DNF30.exe
- updated readme.txt with info about msistub.exe
20070125
- updated readme.txt (.NET 3.0 cannot be installed from SVCPACK)
20070123
- any msxml6-KB* executable is accepted so people don't have to extract msxml6.msi (msxml6.msi is still accepted)
20070122
- some temp files and folders are removed earlier so you don't have to look at the mess while the silent installers are created
- added support for .NET 3.0 language pack (langpack3.exe)
- if the system on which the silent .NET 3.0 installer will be installed is Win2K, the .NET 3.0 portions won't execute (Christmas present for the absent-minded)
- faster querying for the Windows version
- updated readme.txt
20070121
- using hidcon.exe from Oleg_Sch (included in new script package) instead of cmdow.exe
- code cleanup
- updated readme.txt
20070120
- allow merging of .NET 1.1 with .NET 3.0 (install order: .NET 2.0, .NET 3.0 and then .NET 1.1)
- allow custom compression ratio setting from answer file
- main three .NET 3.0 components are left unextracted to keep down the size of the silent installer
- variable "PROCESS_DNF3_DNF3" is now called "PROCESS_DNF3_WRAPPER"
- the msxml6 binaries are processed individually to keep the total size down; you won't see an MSXML6 entry in Add/Remove Programs anymore
20070119-b
- forgot to allow renaming of langpack files
20070119
- fixed potential issue with Win2K if reg.exe is slipstreamed
- resulting installers can now be installed on a "normal" system too
- added support for .NET 3.0 (allow replacing msxml6.msi)
- optional answer file
- possibility to merge .NET 1.1 with .NET 2.0 packages
Super-Magician
Since CMDOW causes problems with quite a few virus scanners, can you provide support for hidec?

Thanks for the script by the way. Wondering if you can add in .NET 3.0 some day...whistling.gif
Tomcat76
I'll give RunHiddenConsole.exe another go... smile.gif
S3pHiroTh
I have tried, but the language pack for Net 1.1 doesn't install at all.
daddydave
It looks like a leading space accidentally slipped into the name of " SNM.cmd"
Tomcat76
QUOTE (Tomcat76 @ Jan 16 2007, 03:53 PM) *
I'll give RunHiddenConsole.exe another go... smile.gif
Doesn't work, just like many times before. So I'll stick with CMDOW.

QUOTE (S3pHiroTh @ Jan 16 2007, 04:53 PM) *
I have tried, but the language pack for Net 1.1 doesn't install at all.
.NET did but the language pack didn't? That's odd... How big is DNF11.exe?

QUOTE (daddydave @ Jan 16 2007, 05:11 PM) *
It looks like a leading space accidentally slipped into the name of " SNM.cmd"
That's not by accident smile.gif
S3pHiroTh
Isn't accidentaly is for evidence!!! So that file is always the first file of the directory!

This is the size of my DNF11.exe

11.554.146 bytes
Tomcat76
With that size the language pack can never be part of it. Is it called langpack.exe?
S3pHiroTh
QUOTE (Tomcat76 @ Jan 16 2007, 05:31 PM) *
With that size the language pack can never be part of it. Is it called langpack.exe?


Eh eh you found my error... I have renamed it language1.exe when I have download it... my apologies. ph34r.gif

EDIT: Thanks man, this script works well biggrin.gif
Super-Magician
OK, thanks for trying the RunHiddenConsole thing. Never mind...whistling.gif
glentium
this is great, thanks Tomcat!
btw, I know that dotnet30 is actually dotnet20 plus extras, but for people who want those extras, would you please add support for using the dotnet30 installer instead?
Kiki Burgh
hi all! i see the same crowd here tongue.gif ... just stumbled upon this via HFSLIP ... i thought this would be discussed in HFSLIP too ... and eventually included in the script? just asking ...
S3pHiroTh
QUOTE (Kiki Burgh @ Jan 17 2007, 05:54 AM) *
hi all! i see the same crowd here tongue.gif ... just stumbled upon this via HFSLIP ... i thought this would be discussed in HFSLIP too ... and eventually included in the script? just asking ...


Mmmhhh i think that copy this script in HFTOOLS is the better idea, and HFSLIP check for it (create a NETFRW directory to copy files), will create the silent installers
glentium
I don't think anyone would want to recreate dotnet installers everytime HFSLIP is run! just use this tool once (or when another patch for dotnet is available and support for it is added to SNM) to create the installers and add them to HFSVCPACK folder. although the idea is possible, why add bloat to HFSLIP with this one? I believe creating silent installers is beyond HFSLIP principle. HFSLIP is geared toward (and EXCELLENT for) slipstreaming/integrating/(now 'guirunonceing') hotfixes, updates and much, much, much more, and not for creating silent installers... smile.gif
Tomcat76
Dotnet3 is such a beast.... And Windows Communication Foundation, Windows Presentation Foundation and Windows Workflow Foundation won't install if .NET 1.1 is installed in the same go.

Next version:
- support for dotnet3.exe (not yet the language pack, though langpack2.exe is supported)
- optional answer file (install or ignore specific components, set some file names, and merging .NET 1.1 with .NET 2.0)
- fix potential problem with Win2K if reg.exe is slipstreamed (not sure if that really is a problem)
- installers can be tested on an already installed system
- overwrite msxml6.msi from .NET 3.0
Tomcat76
New version smile.gif
daddydave
I am running the new version under Windows 2000, no language packs and no .NET3.0, and it created the DNF11.exe file after about 1.5 hours and is has been on "Creating silent .NET 2.0 installer..." for about 40 minutes. Should I assume this is normal? I guess there is quite a bit of processing going on.

To be honest I was running a cpu intensive VM for a while too, but I am out of it now, and I noticed the same with the old version.
Tomcat76
It isn't normal. How much memory do you have? Are you creating these installers in a VM?


[script updated again - see changelog for details]
daddydave
QUOTE (Tomcat76 @ Jan 19 2007, 12:46 PM) *
It isn't normal. How much memory do you have? Are you creating these installers in a VM?


Not running the script under a VM, but see edit to previous post. The other VM CPU% did spike at times, it was running an unattended Windows install of all things!

Physical: 457136 KB
Pagefile: initial 672MB, Current 672MB,, maximum 1344MB, recommended 669MB
Processor: Sempron 3200 I think

If I run it again, I'll try increasing the pagefile and running it by itself. 1 GB memory stick is in my future I hope.


EDIT Memory usage of 7za.exe changes every second but gets over 300,000 K sometimes according to Task Manager. It takes a while (a minute maybe?) for it to add a second to CPU Time for 7za, currently at 2:38
Tomcat76
I don't really know how much RAM is needed and how big the pagefile should be for this sort of stuff. I was using 2x512MB sticks for a long time and now have 2x1024MB sticks. The pagefile has been on 2GB all this time.

My timings:
* create admin source for DNF11 and langpack + slipstream patches = 24 seconds
* create admin source for DNF20 and langpack + slipstream patches = 16 seconds
* create DNF11.exe from admin source = 43 seconds
* create DNF20.exe from admin source = 64 seconds

I know that the process of making the EXEs requires quite a bit of memory and that the amount of memory does have a say in this, but your timings are really extreme. I suppose mine are too but it shouldn't be too much slower.

Set your pagefile to a fixed 1024MB or 1536MB (identical min & max) and see if that helps.
S3pHiroTh
Only 2 questions... why do you integrate net framework 2.0 in the 3.0 net package? I know that the 3.0 net framework is 2.0 net plus some other applications... I think is better (for smaller installer) if you write in the install requirement that "if you want to install 3.0, you MUST install 2.0 net package too". Isn't it better?

Another question is: the net framework 3.0 doesn't install windows cardspace or something like it (maybe I don't remember well)? If yes, I haven't any icon of Windows Cardspace in Control Panel.
Tomcat76
QUOTE (S3pHiroTh @ Jan 19 2007, 09:14 PM) *
Only 2 questions... why do you integrate net framework 2.0 in the 3.0 net package? I know that the 3.0 net framework is 2.0 net plus some other applications... I think is better (for smaller installer) if you write in the install requirement that "if you want to install 3.0, you MUST install 2.0 net package too". Isn't it better?
If you want to exclude .NET 2.0 from the .NET 3.0 package, simply set PROCESS_DNF3_DNF2 to NO in the answer file. I won't make this the default behavior because .NET 2.0 is part of the .NET 3.0 package you download from Microsoft.

QUOTE (S3pHiroTh @ Jan 19 2007, 09:14 PM) *
Another question is: the net framework 3.0 doesn't install windows cardspace or something like it (maybe I don't remember well)? If yes, I haven't any icon of Windows Cardspace in Control Panel.
Well... Don't really know what to say to that.
I don't see it in the .NET 3.0 package and can't find any info on how to deploy it either (provided it's hidden somewhere in .NET 3.0)...
glentium
thanks for the new version, tomcat! smile.gif

btw, in HFSLIP, does including your dotnet30 silent installer product of SNM at SVCPACK makes including KB927977 (msxml6) at HF unnecessary?
Tomcat76
@daddydave
Please try the latest version. You can change the compression ratio with it. Try COMPRESSION_RATIO=MED and if that doesn't help go with COMPRESSION_RATIO=LOW.

@S3pHiroTh
Windows Cardspace is installed when using the installer on an existing Windows system. I'll do a test later to see if it works from SVCPACK too.

@glentium
The problem with the msxml6 package in .NET 3.0 is that it's older than the KB927977 hotfix *and* will overwrite the newer file versions that you slipstreamed. You basically have two options:
1) slipstream the binaries from KB927977 into Windows and create a silent .NET installer that doesn't include msxml6 (PROCESS_DNF3_MSXML6=NO)
2) do not slipstream KB927977 into Windows but place the msxml6.msi file from it in the SNM working folder
The end result is the same.
daddydave
COMPRESSION_RATIO=LOW did the trick for DNF20. I tried MED
DNF11 creation has been zippy ever since increasing the page file size as you suggested

So I'll use DNF11 from blank COMPRESSION_RATIO= and DNF20 from COMPRESSION_RATIO=LOW

Thanks a lot! thumbup.gif
Tomcat76
QUOTE (Super-Magician @ Jan 16 2007, 10:52 PM) *
OK, thanks for trying the RunHiddenConsole thing. Never mind...whistling.gif
The latest version uses hidcon.exe. Is that OK too? smile.gif
Sonic
The output file will install in one pass all frameworks ? or it's more batch method ?
Thanks.
S3pHiroTh
If you put only one version of a net framework, the output is only an exe file that install that version, if you put, for examples, net 1.1 binaries and net 2.0 binaries, the output of this script will consists of 2 exe installer, one for 1.1 net framework and the other for the 2.0 net framework.
Sonic
QUOTE (S3pHiroTh @ Jan 21 2007, 11:30 PM) *
If you put only one version of a net framework, the output is only an exe file that install that version, if you put, for examples, net 1.1 binaries and net 2.0 binaries, the output of this script will consists of 2 exe installer, one for 1.1 net framework and the other for the 2.0 net framework.


Thank you !
cyberyeye
This script is amazing !

Wonderful job Tomcat76 thumbup.gif
Yzöwl
QUOTE (cyberyeye @ Jan 21 2007, 11:25 PM) *
This script is amazing !

Wonderful job Tomcat76 thumbup.gif
The results and /or idea of the script may be, and the Tomcat76's effort and methodology is as usual to be commended. There is however nothing amazing about the script.
S3pHiroTh
QUOTE (Sonic @ Jan 22 2007, 12:18 AM) *
QUOTE (S3pHiroTh @ Jan 21 2007, 11:30 PM) *
If you put only one version of a net framework, the output is only an exe file that install that version, if you put, for examples, net 1.1 binaries and net 2.0 binaries, the output of this script will consists of 2 exe installer, one for 1.1 net framework and the other for the 2.0 net framework.


Thank you !


I forgot to tell you that in the .ini file has an option that can merge into one executable for 1.1 and 2.0 net framework, you can read that option in the first post of this topic smile.gif
Super-Magician
Wow, this script has changed a lot since the first version! Thanks. Great job as always, Tomcat!
Tomcat76
QUOTE (S3pHiroTh @ Jan 22 2007, 10:28 AM) *
QUOTE (Sonic @ Jan 22 2007, 12:18 AM) *
QUOTE (S3pHiroTh @ Jan 21 2007, 11:30 PM) *
If you put only one version of a net framework, the output is only an exe file that install that version, if you put, for examples, net 1.1 binaries and net 2.0 binaries, the output of this script will consists of 2 exe installer, one for 1.1 net framework and the other for the 2.0 net framework.


Thank you !
I forgot to tell you that in the .ini file has an option that can merge into one executable for 1.1 and 2.0 net framework, you can read that option in the first post of this topic smile.gif
You can also merge .NET 1.1 with .NET 3.0 smile.gif

QUOTE (Yzöwl @ Jan 22 2007, 05:33 AM) *
QUOTE (cyberyeye @ Jan 21 2007, 11:25 PM) *
This script is amazing !

Wonderful job Tomcat76 thumbup.gif
The results and /or idea of the script may be, and the Tomcat76's effort and methodology is as usual to be commended. There is however nothing amazing about the script.
Us speak a different lingo... smile.gif
Sonic
Thanks for correction Tomcat.
Are there any issues for the moment using your versions ?
If install will pass, frameworks will acts exactly same as standard installers, isn't it ?
Tomcat76
I don't see why there should be any issues. I've been going on past experience for .NET 1.1, some useful info posted by S3pHiroTh for .NET 2.0 (the ADDEPLOY variable) and an MSDN doc for .NET 3.0.

But... you shouldn't really ask me. The only program I use that requires .NET is Sound Forge 8. It's working, though.

Just know that if you install .NET 1.1 and .NET 2.0 in one go, the system requires a reboot before .NET 2.0-dependent programs can be installed. Workaround: don't install .NET 1.1.
S3pHiroTh
Tomcat another question shifty.gif
Before you have made this script I have included KB927977 hotfix in HF directory of hfslip, now you have made this script that can include that patch , is better to include it in hfslip directory or to include it in this script? What are the differences?
Tomcat76
Glentium already asked this (see my second post on this page if you're using the default posts per page setting).

But it doesn't really matter. A .NET 3.0 installer made with this tool will only replace existing MSXML6 binaries during installation if the existing ones are older (unlike what happens if you install the original dotnetfx3.exe normally).
S3pHiroTh
Sorry for my last question... I have read that post of glendir about msxml6 some days ago and I have forgot that reply tongue.gif

This is my feedback with the latest update 20060122:
I have slipstreamed all the net packages (slipstreamed language packs too), I have put the file msxml6-KB927977-ita-x86.exe in SNM directory (where is the script), and created the net installers (3 executables).
I have removed net2.0 from net3.0 package with the option of .ini file.
After I have installed Windows, I have run Windows Update, it tells me that KB927977 hotfix isn't installed.

I have do something wrong?

I'll try now to do the same thing, but without remove net2.0 from net3.0 package. I'll tell you my feedback for this way smile.gif
Tomcat76
QUOTE (S3pHiroTh @ Jan 23 2007, 02:25 PM) *
I have put the file msxml6-KB927977-ita-x86.exe in SNM directory (where is the script), and created the net installers (3 executables).

After I have installed Windows, I have run Windows Update, it tells me that KB927977 hotfix isn't installed.

I have made something wrong?
Yes. The script expects msxml6.msi, not msxml6-KB927977-xxx-x86.exe, as explained in the instructions... smile.gif
S3pHiroTh
QUOTE (Tomcat76 @ Jan 23 2007, 02:29 PM) *
QUOTE (S3pHiroTh @ Jan 23 2007, 02:25 PM) *
I have put the file msxml6-KB927977-ita-x86.exe in SNM directory (where is the script), and created the net installers (3 executables).

After I have installed Windows, I have run Windows Update, it tells me that KB927977 hotfix isn't installed.

I have made something wrong?
Yes. The script expects msxml6.msi, not msxml6-KB927977-xxx-x86.exe, as explained in the instructions... smile.gif


Argh blushing.gif
Before I'll post the next question I'll read twice this topic...

My apologies ph34r.gif

EDIT: Ok I have tested once again, I have slipstreamed all the net packages into 3 executables (in 3.0 net pack I have removed the 2.0 version binaries)with their language packs. After I have installed Windows, I search in Event Viewer for any kind of error, there are one error about 1.1 net framework and 3 errors about 3.0 net framework (and 3 errors about the part of the language pack of those components). The components that aren't installed properly are:
-Windows Communication Foundation
-Windows Presentation Foundation
-Windows Workflow Foundation

+ Windows Cardspace isn't installed, but I have told this before
Tomcat76
Don't know if this is your problem, but it's been said a few times that .NET 3.0 won't install if you installed .NET 1.1 first without rebooting.

This will not work:
.NET 1.1
.NET 3.0

This will work:
.NET 1.1
<reboot>
.NET 3.0

This will also work and it's done if you merge 1.1 with 3.0 (but I can't test thoroughly if there are any side effects):
.NET 3.0
.NET 1.1

I just updated the main post so it's explicitly stated there too.
Tomcat76
BTW... The newest version supports your msxml6-KB927977-ita-x86.exe...
S3pHiroTh
QUOTE (Tomcat76 @ Jan 23 2007, 06:04 PM) *
Don't know if this is your problem, but it's been said a few times that .NET 3.0 won't install if you installed .NET 1.1 first without rebooting.

This will not work:
.NET 1.1
.NET 3.0

This will work:
.NET 1.1
<reboot>
.NET 3.0

This will also work and it's done if you merge 1.1 with 3.0 (but I can't test thoroughly if there are any side effects):
.NET 3.0
.NET 1.1

I just updated the main post so it's explicitly stated there too.


Mmmhhh... I simply put the executable files in HFSVCPACK in HFSLIP directory... obviously with HFSLIP, it installs first 1.1 version, then 2.0 then 3.0... Maybe is better to do a modified version of HFSLIP that install first 2.0 version, then 3.0 and then the 1.1 version of net framework...
Tomcat76
And add support for every possible .NET 1.1 executable name? Or force people who don't use this script to name it DNF11.exe? I don't think that's really feasible...

Why don't you just rename the output file(s)? It's easy...

1_DNF20.exe
2_DNF30.exe
3_DNF11.exe

smile.gif
S3pHiroTh
QUOTE (Tomcat76 @ Jan 23 2007, 08:23 PM) *
And add support for every possible .NET 1.1 executable name? Or force people who don't use this script to name it DNF11.exe? I don't think that's really feasible...

Why don't you just rename the output file(s)? It's easy...

1_DNF20.exe
2_DNF30.exe
3_DNF11.exe

smile.gif


I have tried this method and it doesn't work. It installs 2.0 and 3.0 without error, windows cardspace is installed too... but 1.1 net framework doesn't install at all. Now I'll try to merge 1.1 with 3.0. I'll tell you if in this way all works well.

EDIT: I have tried with the merge installer and everything is installed well, windows cardspace is installed properly, only 2 errors are shown about Windows Presentation Foundation.
These errors are:
-Product: Windows Presentation Foundation -- Error 2004. Method SHGetFolderPath failed. HRESULT: 0x80004005
-Product: Windows Presentation Foundation -- Error 2004. Method GetFontCacheDataFolder failed. HRESULT: 0x80004005

Anyway, in other event properties, there is one that show me that Windows Presentation Foundation is installed completely.
Tomcat76
I am aware of those errors but am not sure why they are logged.

Windows Communication Foundation (installed right before Windows Presentation Foundation) also calls the SHGetFolderPath function and it doesn't report an error. However, right after the SHGetFolderPath calls in the Communication Foundation log it's written that the needed info was found "by spelunking the registry"... which could indicate that the calls did fail but that there was a "backup method" (scanning the registry).

I don't think that the Presentation Foundation installer doesn't have a backup method, otherwise the new fonts wouldn't be present in the Windows Fonts folder. So I guess the difference lies in the nature of the logging: report everything except "recoverable errors" for WCF, and report only errors for WPF. I'll have the WPF installer output a verbose log to verify that.
S3pHiroTh
Another error is that Webclient service doesn't start anymore with the merged installer. It reports that his current state is not valid 87 and it stops itself.
Today I'll try to install the merged installer like the RunOnce.cmd do (in Windows, but automatically with a batch) and I'll tell you if there are some errors. If in this method it hasn't had any error, maybe is better to install Net frameworks in Windows than SVCPACK directory (I tell you as a HFSLIP user) smile.gif

EDIT: Ok I have installed Merged Net pack (in Windows) and everything is installed without error, only some warning are shown in event viewer. These warnings are:
CODE
-Could not detect IIS installation or IIS is disabled, skipping the Web Host Script Mappings component since it depends upon IIS to function properly.
If you believe this message is an error, check your IIS installation to make sure it is installed properly.

This is OK, I haven't installed ISS.

CODE
-Configuration section system.serviceModel does not exist in C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Config\machine.config.

-Configuration section system.runtime.serialization does not exist in C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Config\machine.config.

-Configuration section system.serviceModel.activation does not exist in C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Config\machine.config.

-A configuration entry for BuildProvider System.ServiceModel.Activation.ServiceBuildProvider, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 does not exist.

-All compilation assembly nodes do not exist in System.Web section group.

-HttpHandlers node *.svc does not exist in System.Web section group.

-HttpModules node ServiceModel does not exist in System.Web section group.

-HTTP namespace reservations are not installed.


If you know some tests to do, I'll do the tests. Ask if you want to... smile.gif
Tomcat76
I also have this problem with the WebClient service but thought it was because of my system. I had to reinstall Virtual PC 2004 recently because my NICs weren't properly recognized anymore by it so I assumed it was a "leftover" from those problems.

This could take some time to debug. I'll start off with trying RogueSpear's silent installer to see if it produces the same problem. If not, I may have to abandon the admin install approach for the .NET 3.0 "wrapper"; the downsides of that will be:
- future updates can't be slipstreamed
- you can no longer customize the .NET 3.0 install
That would really stink...
Tomcat76
Alright. I did the test with RogueSpear's installer.

- the two errors for Windows Presentation Foundation are there
- WebClient service fails

So nothing that I'm doing differently from RogueSpear is causing this.


In my situation, this leaves room for three possibilities:

1) .NET 3.0 can't be installed from SVCPACK
2) There's an unforeseen error in one or more of the .NET 3.0 applications
3) IE7 and .NET 3.0 don't get along very well (either the install order should be changed or one should be omitted; I installed IE7 from SVCPACK.INF after .NET 3.0)




Google Internet Forums Unattended CD/DVD Guide

This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.