I installed QuarkXPress 4.0 on H, which is a system running Windows XP Professional Service Pack 2. The installation procedure runs from a CD, but requires that a floppy disk be inserted during the installation. Since the system didn't have a floppy drive, I placed the disk in another system that did have a floppy drive, shared that drive, and then mapped the shared network folder to drive "A:" on the system on which I wanted to install the software. That didn't work, though, nor did copying the files over the network to a directory on the system and then using the Subst command to make that directory appear to be a virtual drive "A:" on the system. I was able to proceed with the installation, when I used an external USB drive on the system, however. Then, while installing the software, I saw the messages below:
Install is copying files... QuarkXPress for Windows: Application Files: System Libraries: Ctl3D 3D Windows Controls
File Name: ctl3d32.dll
|Press Stop to abort.|
|File is in use. Please close all other Windows
applications and try again.
[ Retry ] [ Ignore ] [ Abort ]
The CTL3D32.DLL file already on the system, which has the company name in it listed as "Microsoft Corporation", is version 220.127.116.11.
|Description:||Ctl3D 3D Windows Controls|
|Copyright:||Copyright © Microsoft Corp.|
The file in the \XPRESS directory on the QuarkXPress CD is CTL3D32.DL_ with a date of 1/31/1996, so I chose the "Ignore" option, since I don't want to overwrite the existing file with an older one that might not contain all of the functionality of the one already on the system. That might create problems for other applications that use the DLL file.
When I chose "Ignore", I got the following error message:
[ Retry ] [ Ignore ] [ Abort ]
I chose "Ignore" again and the installation completed successfully. I was then able to start the program without a problem. I was also able to run the QuarkXPress 4.10 Updater to update the software without a problem.
When I started QuarkXPress from the user Liza's account it aborted. with the message "QuarkXPress(tm) 4.1 for Windows has encountered a problem and needs to close. We are sorry for the inconvenience." But it works fine when I run it from the Administrator account, so there appears to be a privilege problem. Liza's domain account is in the Users group on the system, but not the Power Users group nor the Administrators group.
I logged into the Administrator's account and changed the security on the C:\Program Files\QuarkXPress directory by right-clicking on the directory and then choosing "Properties" and then "Security" to give the user write access to the directory. But I removed write permission for her to QuarkXPress.exe and the "Setup" folder, which contains executable files and Dynamic Link Library (DLL) files.
The program still aborts when I try to run it from the user's account, however. So, since there was likely a problem with the permissions on a registry key, I logged in as administrator again and ran regedt32 (click on Start, then Run, and then type regedt32 and click on OK), since regedit won't give you the capability to change the permissions on registry keys.
I then right-clicked on the "QuarkXPress" key underneath HKEY_CURRENT_USER\Software\Quark and clicked on "Permissions". I saw that only Administrators and the system had access to the keys.
I added write permissions for users by clicking on Add. Then in the "Enter the object names to select" field, I typed Domain Users; H\Users (H is the name of the computer) and clicked on Check Names. Of course, if the system isn't in a domain, you wouldn't add "Domain Users", but in this case the user is logging in from her domain account. The system underlines the names to indicate they have been successfully checked, so you then can click on OK.
I then gave the Users group full control over the registry keys, by clicking on "Full Control" to check that permission level. I then clicked on OK to set the permisions. I then right-clicked on the shortcut for QuarkXPress while holding down a shift key so that I could choose the "Run as" option to run the program as the user without logging off the administrator's account. I put in the user's domain account for the "User name" field, in this case "solutions\liza" and her password. The program still aborted as before, though.
I then checked the access on all of the QuarkXPress registry keys under HKEY_CLASSES_ROOT. The Users group had read access to all of them. Since domain users are included in the users group, that shouldn't be the source of the problem.
I then put the user's domain account in the Power Users group on the system. I was then able to run QuarkXPress from her account.
I removed the user's account from the Power Users group and tried using Syinternals registry monitoring utility, regmon, to try and determine the source of the problem. I started regmon and then used the "Run as" procedure to run QuarkXPress from her account while regmon monitored registry access. I then stopped regmon from capturing registry events and filtered on QuarkXPress. I saw some "buffer overflow" and even "access denied" entries along with many "not found" entries, but none seemed immediately apparent as the source of the problem, so I put her back in the Power Users group to resolve the problem, since it was early in the morning at that point and I needed sleep.
Note: When I installed QuarkXPress 4 on another system later, I tried a procedure that I've found works for some other applications. I added the user's account to the "Administrators" account on the system. I then logged in under her account and installed QuarkXpress 4.0 after which I ran the QuarkXpress 4.1 updater. I verified that QuarkXpress started without problems then logged off and logged in as Administrator again. I then removed the user's account from the Administrators group. I then logged off and back into the system again. QuarkXpress still started without any errors.
Installing from the user's account appears to give that account full access to registry keys associated with the application and that access remains after the user's account is removed from the Administrators group. For instructions on how to add a domain account to the local administrator's account on a system, see Adding a Domain Account to the Administrators Group