Mike Dowen (Program Manager Lead)
This session was divided into three parts:
- Framework install
- Assembly sharing and versioning
- Performance and NGen
Framework install
For installing the .NET Framework, you (basically) have 3 options:
- Framework Bootstrapper
- small impact on installer size ++
- downloads only needed components ++
- wait for download --
- Client profile
- subset of assemblies ++
- 200 K bootstrapper, 25 MB download ++
- customizable, branded experience ++
- 3 clicks: exe, cert, EULA ++
VS 2008 SP1 allows targeting of Client profile
Configuration builder for setups
- Include the complete Framework in Installer
- stand alone ++
- increase install package --
Assembly sharing and versioning
- Frameworks used across your orginization
- Controls
Easier updating
Install assemblies in GAC: any application can start using it
Strong name: unique name, 4 part version, public key (GUID), culture
Signed to prevent tampering
Loader uses name
New version:
- New functionality, breaking
- Bug fixes, non-breaking
Side by side support
Servicing versions:
- Update in place
- Change strong name (- publisher policy)
In place:
- Simplicity
- Compatibility risk
New version:
- Flexibility/compatibility
- Complexity
Assemblies in the GAC are verified when installed, not on each load.
This gives a better performance.
Strong name bypass (3.5 SP1). Speeds things up and no verification.
Performance and NGen
NGen: share code page across processes, reduces private working set.
Less time JITting
ngen install [YOUR_APP.EXE]
ngen update
ngen display [ASSEMBLY]
3.5 SP1 allows code launched from explorer to run at full trust, making
run-from-share viable.