Solved

Calling all gurus.  Application distrubution issue:

Posted on 2002-05-08
4
137 Views
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?
0
Comment
Question by:sodakotahusker
4 Comments
 
LVL 44

Expert Comment

by:Arthur_Wood
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
0
 
LVL 15

Expert Comment

by:robbert
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.
0
 
LVL 4

Accepted Solution

by:
Monchanger earned 100 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)
http://www.planet-source-code.com/vb/default.asp?lngCId=34520&lngWId=1

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"
0
 
LVL 1

Author Comment

by:sodakotahusker
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.  
0

Featured Post

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

Introduction In a recent article (http://www.experts-exchange.com/A_7811-A-Better-Concatenate-Function.html) for the Excel community, I showed an improved version of the Excel Concatenate() function.  While writing that article I realized that no o…
When trying to find the cause of a problem in VBA or VB6 it's often valuable to know what procedures were executed prior to the error. You can use the Call Stack for that but it is often inadequate because it may show procedures you aren't intereste…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

747 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

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now