PDA

View Full Version : Installation under WinXP copies no files?



Kelmenson
01-02-2002, 02:31 PM
Hello, I am putting together my installer using InstallShield 6.31, and have a very simple install that has all files set as "OS Independant", and the installer works great under every OS except for Windows XP. In Windows XP, the installations skips immediately to 100% without installing any of my files. (It does install the shortcut that I manually add, and also installs the registration information that tells InstallShield that the next time it is run it should uninstall).

I cannot figure out why this would be behaving strangely under XP when it works fine under 2000 and every other OS... Any help on how to debug this? Thanks.

Dan

Andy M-S
01-03-2002, 10:13 AM
:confused: What files are you attempting to install, and to what directories? Is it possible that WinXP has newer versions of those files?

One thing to try might be (painful as it usually is) to set up a debugging system on the XP machine, so you could follow the progress of the install.

Alternatively (and easier!), set up a MessageBox() in the OnInstallingFile event. See if that gets called. If it does get called, then check after each call to see whether or not the file was actually installed.

FWIW, I've had no trouble doing installs on WinXP with 6.30, but I haven't switched over to 6.31 quite yet (none of our files are XP-specific, and we have other methods for determining the OS, so...)

Kelmenson
01-03-2002, 02:06 PM
I am just trying to install my application files, into the user specified directory. There are no Windows file being installed, and should be no version conflicts of any sort.

I ran a debug session an checked out "OnInstallingFile" as you suggested, and it seems to only be getting called for the Installshield maintenence files (which are also the only files that actually are getting installed).

It just seems like for some reason it thinks that it doesn't need to install my files under XP, because nothing seems to be giving an error. Again, all my files are set up as "OS Independant", but seems like it doesn't think that includes XP.

Any other ideas?

Andy M-S
01-03-2002, 02:30 PM
So, we now know that the call isn't being made to install the files. Now we have to isolate the problem a little more.

Try this:

1. Put a debug message in the OnInstalling() and OnInstalled() events for the component that's causing problems. If those are called, then I suspect that the problem is buried deep in internal InstallShield code--since that would mean that the component is being called, but the files aren't being installed. If the component is not being called, then it's likely that there is some kind of bug in your code...

:confused: Puzzling for a while...

:eek: Unless!

Try the following:

2a. Set the overwrite property of your file group so that it will install the files unconditionally. See what happens.

2b. Set the operating system(s) property of the file group to something other than XP (like NT4). Then add code to make IS believe that it is running on NT4. Put something like this in OnBegin():


ComponentFilterOS (MEDIA ,0,ISOSL_NT40,FALSE);


That should work--essentially, this will tell IS that a file group defined for NT 4.0 should not be filtered out, but rather, installed.

OK--one final possibility. You do have admin rights on the XP machine?

Aside from that, I can't think right now of what you'd be running into. As I said above, we're using 6.30, which doesn't know about XP, and it installs stuff onto XP just fine. I suppose there could be something in 6.31 I don't know about...

JacobLevin
01-03-2002, 02:34 PM
I have done a simple test to check this on a WinXP system and in a simple default project that I created I was able to copy a file to an XP system without any issue.

Could you please post a zip file containing a very simple project that would reproduce this that has a default script?

Please make sure to only include the project - NO media since the limit on the size of any posted attachment is around 2 Mb.

Kelmenson
01-03-2002, 03:31 PM
Aha! I think I found the _cause_ of the problem, but not the solution... I made a real simple project that basically just installed some empty text files, and it worked correctly on XP. Then I added the DirectX 8.0a object, which my project has, and it performed the same as my install: No files copy.

So I have the feeling it is a bug within the DirectX 8.0a object, (or just a mistake in how to add that object by me), in that the readme for the object says that it should just skip installing itself under XP. However, it appears that it not only skips its own install but also the rest of the files...

I have attached the mini project, which works in its current state. Adding the DirectX 8.0a object will cause it to no longer install under XP.

Is there an alternate way to install DirectX? Am I supposed to be doing anything other than just adding the object? Thanks...

-Dan

Andy M-S
01-03-2002, 04:02 PM
Do you have more than one component in this install? If you only have one, and you're attaching the DirectX object to it, it's possible that the result is pushing back and the component is never called...

So--

One thing you could try would be to create an additional "invisible" component and attach the object to that. Then, with two components, you could see if the files installed even when DirectX didn't. Just make the invisible component a dependency of the file-bearing component...

Kelmenson
01-03-2002, 04:46 PM
Aha! Good suggestion. I tried that out, and made a "Dummy" component that contained nothing more than the DirectX object. And sure enough, that works. Thanks for the suggestion!

Now the question, which I guess is somewhat academic (to me) at this point, is whether this is a workaround or if it is performing as intended?

Andy M-S
01-03-2002, 04:53 PM
Now, I would say that the object is not working the way it ought to work--but I haven't read through the documentation for it (I'm about as likely to need DirectX for our products as I am to walk on the moon).

In general, when I've used objects, they're sort ancillary installs--that is, they do (or don't do) what they're supposed to do, and leave the associated components alone.

This one sounds like it's messing in the programmer's domain :mad: --not acceptable--but this behavior may be documented...

Boy, I'm having way too much fun with fonts and smilies these days...

Kelmenson
01-08-2002, 07:11 PM
So Jacob, now I'm curious... Is it a bug or not?