After a program was installed by an admin user, different users with no admin rights experience the following problem with their logins to the same computer.
At the installation of the program by an admin user, a generic connection information to a SQL database is written to a key in HKEY_LOCAL_MACHINE registry once (eg. (local)sqlexpress
). Then this information in the registry is manually modified by the admin for the relevant database connection information (eg. Remote_locationsqlexpress
). So this information is machine specific, not user specific so that the program will work and fetch the data from the database for each user.
After the installation, several users (non-admin) log in to the computer to run the program:
User 1 logs in and the program works fine, it accesses the database. Then logs out and logs back in again, and the program works fine the next time.
Then user 2 logs in and starts the program. A message box pops up and it says “Please wait while Windows configures the Program” and it fails to connect to the database because the re-configuration has overwritten the database connection with the generic database connection data in the registry, so that the program cannot find database.
So we import the database settings to the registry and restart the program and it connects fine to the database. The user logs out and logs back in and the program works.
Then user 1 logs back in and the program does not work with the same message “Please wait while Windows configures the Program” even though it was already working and running previously with user 1.
It seems the program will only work for one user! How can we resolve this? Why is Windows trying to re-install the program each time a different user tries to login although the information for the program to connect to the database is in the common machine location in the registry?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…