Question

Okay, so I've been building a c# activeX control and have run into EVERY issue in the book during the process...That being said, I have everything squared up now except the installer

Before I can delve into the issue itself, I need to explain how my setup process is working and why I have chosen this route.

  1. I have a signed CAB file that stores my setup exe, which is loaded through a web page using an object tag
  2. The setup exe is an InstallShield LE project which has my project embedded inside of it (i.e. the files to be installed are a part of the final setup binary)
  3. The CAB file has an INF file in it which tells the caller to run the setup exe to install the control

This process runs just fine and launches the setup application, which then does successfully install the control. However, near the end of the setup process users who are NOT administrators receive an error message stating the following:

An error occurred while copying file myINFFile.inf

Cannot copy file to destination directory.

Click Retry to retry the operation or click Cancel to

(yea, it just cuts off after the word 'to')

If you hit retry it does nothing but repeat the error over and over until you hit cancel. If you hit cancel it says something to the effect of 'Would you like setup to continue in spit of this error?', which then goes on to successfully install the control.

As this error only happens to users with limited permissions I believe the issue is that the cab extraction process cannot extract the inf file to the location it's trying to extract it to...it's just very annoying because this file serves no other purpose, especially during the installation process, but I cannot figure out why the issue is happening or how to work around it...

Was it helpful?

Solution

Use process explorer (by Microsoft/SysInternals) to see what files are written.

My guess is that you did not author setup properly to allow per-user install of you ActiveX control.

(by Robert Petz) If you add the following hook to the INF file it runs correctly and extracts the cab to a allowed location:

 [Deployment]
     InstallScope=user 
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top