Calling all gurus.  Application distrubution issue:

Posted on 2002-05-08
Medium Priority
Last Modified: 2010-05-02
I have spent a year getting an application ready to market to the general public.  One fear I have had is messing up someone's machine with the installation of my app.  I am developing on an XP home version machine.  My first install attempt on Windows 98 on my kids machine hosed it - exactly what I have feared it.  He could not boot up Windows 98 successfully afterwards - until I put back the old DLL's.  The package and deployment wizard included msvcrt.dll and some other OLE etc. components.  The msvcrt one was the problem child.  I know I can remove this and anything else in the bootstrap files section of setup.lst(except the vb runtime) - but will that endanger my app from running?   Also I'm using DAO for database access.  
   So my question is - Can I create a setup package that will be guaranteed not to mess up someone's windows environment and still be reasonably sure the app will run ?  Of maybe better posed - how do I minimize the changes of the first and maximize the chances of the 2nd?
Question by:sodakotahusker
LVL 44

Expert Comment

ID: 6998585
Sorry to be the bearer of BAD news, but it is almost ALWAYS best to develop on the LOWEST possible configuration that you are going to support.  In general, HIGHER versions (say of the operating system) will ALMOST always suuport applications developed on LOWER versions, but the opposite of that is ALMOST always NOT true.  If you intend to support Windows 98 (and more recent versions of WIndows), then you should develop on WINDOWS 98.

Since you have developed on Windows XP, you may only be able to SAFELY install your application on Windows XP, as you have discovered.

Arthur Wood
LVL 15

Expert Comment

ID: 6998704
Arthur_Wood is right but there is another concept of deploying. It's simple:

Testing the setup and application on all target platforms!

You can never say, "It's running on Win95, so it will likely run on Win98."
Also, you cannot be sure that your application will work when the system is fresh (i.e., no other VB application (VB runtimes) or Office is installed), when you have tested it on your development or other regular computers.

At our company, there are test computers with several operation systems (and Service Pack constallations, IE, domain settings, etc.), each in one partition.
We use DriveCopy to copy a fresh system into the primary partition before testing.

Testing an application before deploying it often takes one or more days. - Testing, testing, testing.

Accepted Solution

Monchanger earned 400 total points
ID: 6999819
First, I must agree with what robbert says (though I'm a big fan of Norton Ghost)

I've been using Microsoft's Visual Installer (version 1.1) which is available at no extra cost to liscenced Visual Basic users (at least that's what I understood from that long list of legal mumbo-jumbo). It's not too complicated to get your application working with.
Unlike VB's native P&D wizard, it will allow you select which dependant components (of your application) you wish to package, so as to make sure you don't overwrite older OS's Dll's.

Arthur's got a good point there (except that I wouldn't be caught dead trying to develop an application on those unstable 9x OS's - it's just not practical). But if you just *built* your application on a 95 ... Well, that sounds like a better idea to me. (I'd make sure that all my API calls are supported first before running it)

My guess is that you don't have too many spare computers around for testing like his company does.

I happened to come across this article today which might be helpful with the test-machine problem . In general, I understood that it talks about using a single computer for developing and testing, as in your case (I'm sorry I didn't read it through before refering you to it, but it doesn't apply to my situation and just digging up the URL for you cost me enough of my time)

PLEASE notice that warning the author put in.

I hope this helps and I hope you get your product out there. I've got one of my own out and know what you're going through.

P.S. Note to self: "Remember to use own advice"

Author Comment

ID: 7000255
Thanks for the input so far.  Interesting article on the zipped operating systems.  I'll research that further.  I do have an NT 4 machine and the 98 machine.  At the office where I work we have 95 and Windows 2000 also.   The thing that concerns me is that one Windows 98 machine may not be the same as another - so my test might work but the actual installation fail on other configurations of 98.  That is why the article Monchanger alluded to was really interesting.  That dude set up multiple variations of the same OS.  That still does not address the hardware issue.  I've included speech recognition in my software - but Microsoft warns that there SDK is not compatible with all sound cards.  There are just so many details involved with this - it is definitely not for the faint hearted.  If I had faced these obstacles before I began coding, I might have decided to bag it and spend my time fishing.  

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Have you ever wanted to restrict the users input in a textbox to numbers, and while doing that make sure that they can't 'cheat' by pasting in non-numeric text? Of course you can do that with code you write yourself but it's tedious and error-prone …
Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…

621 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question