Advanced Installer
more / weitere

InstallShield und AdminStudio Schulungen

weitere Infos

Implications of Windows 2000 for Legacy Setup Programs

Windows 2000 introduces some changes in the operating system architecture and security schemes. This brings some improvements, but can cause serious problems for setups that are created with tools not specifically designed for the Windows Installer Service. This section is intended to list known problems and pitfalls, and provide workarounds where possible.

Anticipated Problems

System File Protection

System file protection (SFP) is a feature of Windows 2000 which prevents the replacement of core operating system files, including most .sys, .dll, .exe and .ocx files that ship on the Windows 2000 CD, a basic set of fonts, MFC dlls and the like. SFP runs as a background process and monitors these files. When SFP detects that a protected files has been changed, it displays an error message and restores the original. The only way to update such files is via service packs and operating system updates. This means that your setup cannot replace core files, even if run from an Administrator account. Including and launching update packages from Microsoft has been recommended before, but now it's the only way.

Even testing whether a system file is in use (e.g. by calling InstallShield's Is(FILE_LOCKED) function) can trigger the SFP Warning dialog.

Advice: Call Microsoft's redistributable packages if you need to update system files.

Certain Directories are Read-Only for Normal Users

By default, normal users have write access only under their own profile folders. Especially the Winnt, System32 and Program Files directories are read-only for them. Therefore only Power Users and Administrators will be able to install software, unless these policies have been changed on the target system. (This does not apply to setups using the Windows Installer Service, because they can run with elevated privileges).

Current setups often display very misleading error messages (e.g. "corrupted files") if a sub-directory cannot be created and therefore files can't be copied.

For your application this also means that it must not store application data in the Program Files directory. This is bad practice already today, but some programs still use to do so.

Advice: Avoid installing to directories that might be locked down. Carefully check for success or failure of directory creation and file copy functions, and display meaningful error messages about missing user rights.

NT Version and Service Pack Checking

Many setup programs (like the default script in InstallShield5) identify any NT version with a major version number of 4 or above as "NT4". This leads to major trouble if your setup checks for the installed NT4 serivce pack: For instance a setup that refuses to run if SP3 or above is not installed will fail on Windows 2000 without service packs.

Advice: Properly check version numbers (first major version, then minor version) and be aware of future operating system versions. Don't prohibit installation of your software on future Windows versions (you may want to display a warning that the program wasn't tested with the new Windows version). For InstallShield 5 you can use the code in knowledge base article Q101296 to detect Windows 2000.


Install Program as Administrator

Software installations often failed when run in user mode. Windows 2000 now takes care of this problem: If you launch a program called "setup.exe" or "install.exe" Windows pops up this warning message: "Some programs will not install correctly if you do not have administrative privileges on this computer" Then you have the option to enter an administrator password and execute the setup on the admin account, without the need to log off and on.

Advice: Make sure your installer is called setup.exe or install.exe to benefit from this feature. Explain this behaviour in your installation instructions or readme file.




English News Discussions Windows Installer Related Tools More Help InstallScript About InstallSite Shop Site Search
deutsch Neuigkeiten Diskussionsgruppen Windows Installer MSI FAQ Artikel     Shop Suche

Copyright © by InstallSite Stefan Krueger. All rights reserved. Legal information.
Impressum/Imprint Datenschutzerklärung/Privacy Policy
By using this site you agree to the license agreement. Webmaster contact