Link to home
Start Free TrialLog in
Avatar of DragonSun
DragonSun

asked on

CLS ERROR HELP! (Worth 575 points)

I am having problems with a database that I created in Access 2000 With VB6.
The VB appears to work fine, although I am having a problem with the start up. Whenever the program is run from the VB or from the exe file that was created I get an error that reads:

Class not registered
Looking for object with  CLSID:{00000010-0000-0010-8000-0AA006D2EA4}  

This is driving me crazy because I can't figure out why I am getting this error.  Once I press the ok button though it lets me use the Database.


I have checked the info and it is referring to DAO3.6 this isn't the problem, and now I really I have no idea what could be causing it now. If anyone else has any ideas please let me know.. This question is going to be worth 575 points... i need this question solved as soon as possible. The 575 will be posted in about 5 days. Max.. but the first person to help me will get all 575!
Avatar of Marine
Marine

If you have installed any ActiveX components like ActiveX controls which your program uses but it has not been regestered correctly it will complain. Today i created an OCX which i installed but i installed under a differet user name and it was not available to me on the other name and it gave same error. I then installed it on the Network Drive and error went away. See if they all registered correctly.
Would a work-around be OK?  How often does the program get started?
Avatar of DragonSun

ASKER

hmmmm How do I register the the active X control so that it will work without complaints?
Use Regsvr32.exe /r pathtothecontrol

maybe you will be required to unregister it so this
Regsvr32.exe /u Pathtocontrol

If you did this control yourself then you should just recompile it. It will register it self.
The work-around I was thinking of would dismiss the message box without operator intervention (probably so fast it will be a flash on the screen).
Not very elegant but would possibly buy you some time to come up with a proper solution (I read your previous post re deadline).
hmmmm How do I register the the active X control so that it will work without complaints?
hmmmm why did it post my question twice? Oh well lemme try that out
Ok.. I assume you took the create a FULL PDW install (Dependency Files AND Standard Package) steps recommended to you before. With that, MDAC_TYP.EXE (PDWizard\Redist folder) should have been run on the client's machine. If it is not in your install, add it.. or copy and run it on the client's machine. If you can't find MDAC_TYP.EXE go to MSDN and download it.. typing searchword MDAC will get you into the Data Aceess area where you will find the downloads.

If the MDAC install fails.. that leaves only one other thing.. a DCOM installation. On your VB6 disks, there should be a DCOM98.EXE file.. find it.. and install it on the Client machine.
Greetings,
I am unclear as to when this error occurs and on which computer.  Does this occur on the computer you created the project on?  Or is it happening when you are trying to run it on a different machine that doesnt have VB installed?
The program is a database it will be started when ever the user wants to access it. My e-mail is rfulton@themushroom.com if you can e-mail me I can send the program to see if you can find a quick fix... although I must let you know some that have gotten the program don't have the error... its odd.
Azra:
The CLSID he listed above is for ADODB.. it seems to me that the MDAC installation on his/the other computer are out of synch. (The client machine could even be a version higher). In his earlier question, he kept alluding to DAO 3.51 components.. and has subsequently updated to DAO 3.6 (which is necessary for Access 2000). I very much wonder which version of MDAC is running on his machine (I pray it isn't version 2.0.. and hope that 2.1 is on both machines)
By the way.. to find out which version of MDACis running.. do a File Find on MSADO15.DLL.. hit properties.. the Product Version should begin with 2.1.
The version I have is : 2.10.3711.9
DragonSun

Your comment:
"hmmmm why did it post my question twice? Oh well lemme try that out"

What did that refer to - Marines comment or mine?

If you are interested in a work-around I have some code to help.

DragonSun

Your comment:
"hmmmm why did it post my question twice? Oh well lemme try that out"

What did that refer to - Marines comment or mine?

If you are interested in a work-around I have some code to help.

wsh2, this is the same project i was helping that other fella on if you recall (dbcombo boxes and hyperlinks and richtextboxes etc...)  
bhamilto,
if you would like to check out the coding behind the project I am working on then send me a quick e-mail and I will be more than happy to hook you up with the coding... right now I am keeping my options open and trying to get the project done in anyway possible. From what I know it currently works on some computers, but if someone has the same problem as I am having then I would like to find a  fast fix so that the CLS error won't appear even for those who have the problem I seem to have
I suspect my machine will be one that can't reproduce the error.  I'm running older versions of the OS, Access, etc.

It really does sound like a registartion or version problem.  If the problem is happening on the client machine but not on your development system, I suggest you check versions on each and make sure everything is properly registered.

If you want code to help with a work-around I would be happy to provide it. The sample I have in mind demonstrates a technique but would have to be adapted to your problem.
just some more info to layout to everyone.  they are trying to create this application and burn it to cd for distribution.  i have never done this before so i'm not sure if you need to take different items into account.  essentially the project is just a database of articles they wrote and the program searches, finds, and displays these articles (in html format) which are all stored on the cd as well.
Azra:
Did they do a FULL PDW Install setup package (including MDAC_TYP.EXE)? I can't seem to get an answer.. <sigh>.
as far as i know, no. i told one of them that they needed to and they seemed to think i was crazy.  (they seem to be a pretty wild and crazy bunch)  j/k Dragon  =)
but initially i wrote a lot of code for them.  then when it came to deployment they had problems and asked me what i thought.  i wasnt sure so thats when i dropped you that email and now here we are.
i did a search on the web for that clsid error they received and found an app's faq site that reported the same error when some people ran their cd.  it was dao related and they provided a file to update the registry with the needed database driver registry entries that supposedly remedied the problem. related?
Guess they've gone for a beer or something.
Hey wsh2 did you get through all the "accessibility" stuff?
Azra:
Although I must admit you are one crazy Texan.. LOL and a smile>.. I don't see how they are ever going to widely distribute this application without a Full Setup package. Until they do this, no amount of patches is going to save the day.  I'll tell ya what Azra.. If they do a full PDW application Setup (Dependency Files AND Standard Package).. I'll chip in 40cents.. if you will chip in 40cents.. and lets buy em a blank CDR.. so that they can do one last Master burn.. <smile>.
<tipping my hat> <and a spit of tobacco>  i'm with ya there partna'.  i'm sure i got at least 40 cents down inside my boots somewhere.
<offthread>
Hi Bhamilto..
Love that accessibility schtuff.. <smile>.. but have yet to find an application to use it on.. <lol> and a <whew>.

Azra:
A couple of questions ago.. Bhamilto proposed an Active Accessibilty solution to a problem. As his solution was quite viable.. and I had never read about Active Accessibility before.. I decided to check it out.. turns out.. it is VERY kewl schtuff (platform independent and used in quite a few Office Applications.. to mess with Font Sizes, Toolbars.. etc. etc).. <smile>.

Anyhow, if you haven't done so yet.. you may want to check it out at..

http://www.microsoft.com/enable/msaa/default.htm

If you like what you see.. send a  thanks to Bhamilto.. <smile>.
I think I can safely say, that has to be the longest beer run in the history of college (Animal House included), I do appreciate all that you are doing to help me out here. Unfortunaly I am not an expert myself in VB so some of the terms are still somewhat puzzling although I am trying to keep up as best as possible. I will be responding to messages through out the day and for a while tonight, provided I am not in class. I appreciate all the help I am receiving and if possible I will try to come up with a good way to give some points to everyone (and still give the full 575 to the person with the final solve for the situation). Thanx -DragonSun
OK I have most of the problem solved... although the other problem I had is back. The Runtime error that I am receiving.. I think its because the Access file is trying to write a temp file and obviously it can't do that to a closed cd. Can anyone think of a way to tell the file to try and write it in the windows\temp folder? we tried copying the file and successfully copied it, but the access still wants to write it itself. Please send any ideas possible!
Please tell us how you solved "most of the problem".. <smile>.

The reason why are receiving the runtime write error is as you suspected.. you have opened the DB with writeaccess. Change the following recordset properties:

   .CursorLocation = adUseClient
   .CursorType = adOpenStatic
   .LockType = adLockReadOnly

I've been working with Dragon on this project from the beginning.  It seems that I want  to tell the project not to write a .ldb file...but even when I tell it to have exclusive and/or read-only status, it still writes the .ldb file...ugh.

Wsh2...those properties..are those all in the properties box? which control are they under? Should I just code them in?

Thanks!
Found it...  Glad I could be of assistance!

:>)
Well the problem was one with the active X resistration, once that was cleared up the CLS error disappeared, although the runtime error returned. Mtroutwine also found a way to clear the error by turning it completely from the ADO/DAO tweeked mix into strictly ADO. (something that rbudrick and I believed that couldn't be done before with the limited time that we had). Since this problem was solved by Mtroutwine he will be receiving the 575 points for this question, but I promise that I will be posting personal questions to all of you who have offered an answer as soon as the points come in for the questions that I have answered. So that I can give each of you hopefully around 100 pts for your help. I really do appreciate it!
DragonSun writes: "as soon as the points come in for the questions that I have answered"

Expert points are NOT transferable.

As the initial Registration and CdRom Cursor problems were resolved here.. I think you should jot customer service a note and split the points here.

In your question you wrote "I have checked the info and it is referring to DAO3.6 this isn't the problem".. later you add.. "Mtroutwine also found a way to clear the error by turning it completely from the ADO/DAO tweeked mix into strictly ADO.. Since this problem was solved by Mtroutwine".. your question hardly seems legitimate in its asking. Somehow awarding the points to a single comment by mtroutman that states "Found it...  Glad I could be of assistance!" just does not seem proper or right, to those that in good faith contributed both here and elsewhere.

Anyhow.. I once again request that you reconsider your point allocation.. here is the link where you can have customer service do a point split allocation.

https://www.experts-exchange.com/Customer_Service/Experts_Exchange/
I agree with wsh2.  Presumably Mtroutwine is responding to a previous question.  You are using EE in a way that it wasn't intended (multiple members, multiple open questions) so it is difficult for us to know what is going on).
Wsh2 - Just an FYI, as I am new to the EE, I posted the original question 5 days before (the CLS Error and the Runtime error) MTroutwine was the only one to respond to it and try to help me... unfortunatly no one else seemed to have read the problem. I wanted to try and post it again to see if anyone else might be able to offer assistance. The second post was worth far more points than I could have offered the first time around. Mtroutwine spent over a week assisting me in trying to solve the problems behind it. I don't claim to be a VB expert because I know I am not one by a long shot. In most cases though in the EE from what I have seen, the first person who answers it properly gets all the points, and everyone else no matter what they have said gets nothing for their time. Since MTroutwine physically went above and beyond the call of duty by actually looking at the code behind the problem he proposed a solution that did solve the problem that I requested. Although he did go as far as he did and he was the one who had been helping me from the start, I told him to put his name into the re-post of the question so that I could award him with the points. Since I closed the original question (worth 400 points) I am waiting out the days that it will take to return the points back to me. Then I shall have enough to award everyone. I hope this is a rational that makes sence to all those who have been trying to provide assistance. I am not playing favorites or anything by any means, I simply feel that if anyone were to go as far as he did to help me they would be the ones to receive the points. Since I now have a physical working copy that is error free, I feel that should be accepted as a valid answer. I hope you do not think ill of me because of the way this was decided, I still have full intention of providing you with a min of 100 points for your assistance in trying to help me. I hope this is suitable for you and all involved.
speaking of going out of their way to help...   =)
You don't have to wait for the points.  Just re-activate the original question and use wsh2's support link.
Dragonsun.. Thank YOU for responding.. <smile>.

None of us here want to detract from the very capable work that MTroutman has done.. but nowhere in this thread did you ever comment that this work was being done.. or did you take a moment to refer any of us to this other question that had precipitated this discussion. (MTroutman.. we're happy to see you key "Found it...  Glad I could be of assistance!", but where were you while we expended our time and energies?). To be honest, the only one that was forthright enough to mention that other EE work had transpired on this application, was Azrasound, whom only did so to help you get closer to an appropriate solution. It would have helped if MTroutman or you had done the same.

It appears by your last comment here, that you were already predisposed to awarding MTroutman at least 400 points for all the prior work he had done.. and as such.. this question was NEVER worth the advertised points that YOU, in your question subject, ascribed to it. In that regard, you elicited other Experts time and energies under what now seems to be clearly false and/or misleading pretenses.

For some ungawdly reason, too many questioner's here on EE feel that Expert time, is totally worthless.. in comparison to the worth of their own time. Somehow these questioner's forget that they came to us to assist them in their time of need.. and that we, at our own expense, readily and capably helped them. Suddenly, when these type of questioners fulfill their needs, they forget those that freely chose to help them. Nothing could be more demeaning or insulting to an Expert, particularily when the Expert knows that their contribution was germaine in the cause of deriving them a solution.

Anyhow.. those are the thoughts that lie behind my comments. You are free to allocate your points anyway that you deem justified. My earlier comment was meant only to direct you in getting customer service assistance.. so that this question(s) can be resolved in a prompt and timely manner. If your points have not been returned from the previous question.. that can easily be handled there as well. Here is the link again:

https://www.experts-exchange.com/Customer_Service/Experts_Exchange

Once again, you are free to do whatever you feel is necessary.. <smile>.

Wowzers!!!

First and foremost I apoligize for not leaving a better remark.  I was pressed for time when I wrote it and had been corresponding with DragonSun via e-mail.  

To me it is not important who gets the points, the most important item is the person asking the question gets a working solution <period>.

One issue I would like to address however are the comments being left by 'Experts'.  I have seen to many 'Experts' lately posting comments about people 'wasting their valuable time' and 'you haven't posted enough points for me to bother with your question'.  Furthermore, 'Experts' are using comment space to argue over who should get the points and how the points should be divided rather than focusing on a solution to the problem.  Here is my question: How can anyone have time to write a four paragraph rebuttal if their time is so valuable?  

Sorry if I have offended anyone, but I am tired of these types of comments.  I don't believe anyone was born an 'Expert' and I am sure everyone has needed assistance at some point and time.  I am also sure that you didn't need a bunch of bickering on top of the problem you were trying to get resolved.

If anyone is that desperate for points then I would be more than glad to withdraw my answer and allow them to claim the points...

Back to more important issues.  The CLSID error that DragonSun was getting appeared to be coming from an ADO Data Control on the application's main form.  The control wasn't being used as the application was utilizing DAO 3.6 for data access, hence the CLSID error.   I switched the application over to ADO 2.1 and removed the control.  To allow the database to be run on a CD-ROM without the Access *.ldb file, I set the ADO connection object's mode value to adModeShareDenyWrite.  This allows the database to be accessed and no *.ldb file is created.  I have a couple of small issues to fix and the project should be completed.

I am truly sorry for not leaving more information before, but the comments about 'wasting valuable time' have got to stop.

:>(
Hi there,

I really don't think Dragon meant to mislead anyone.  He has expressed to me and in the context of this discussion that he is very greatful for all the help you have provided us.  I too am extremely grateful, and I thank you all.

Dragon...I can see that you are stuck as to how to distribute the points...and I can see the argument from both sides...it gets a little sticky, and becomes a tough decision.  

I really don't think Dragon meant to deceive.

Anyway, is there a way to cure that .ldb thing in DAO?  The ADO looks great, but I don't fully understand the code yet (no experience w/ ADO as of yet)...the ADO looks great, and does work, but I wanted time to digest it before I put it in the final copy...I'm sure I would be able to use a ton of the ADO code for V.2.  But anyway, is there a way to fix that in DAO?
MTroutwine:
You did a great job.. as did EVERYONE including the questioners.. <smile>.

Rbudrick:
Checking out your question.. but have <kidz> up to my butt right now.. <arrrrgggghhhh!!!>.. will get right back to ya.. <smile>

I tried previously to remove all those unneeded controls from the project but I was told they were there to serve some sort of visual purpose.  As far as doing a great job, youre damn right I did!  =oP
Seriously though, it sounds like MT put some effort into this and should be rewarded.  The points arent the issue here, but rather, the fact that, together, we were able to get these guys' project completed on time.  Geez, what a team here at the EE community <wiping a tear from my eye>
How true that tear is....

Without EE (who is in the credits of the jacket liner of the CD...we hope to distribute the CD at a trade show in a few days...if we can get this last error sorted out...if the response is really good, maybe fans of the site will buy it...doubtful, but who knows) this project could never have happened.  We are eterally grateful for all you help...we really are!

BTW...I tried seeting the Access to read only and exclusive....that didnt work.

I set the exclusie property of the data control to true...that didnt work...

I used Azra's code form an Email:Set db = OpenDatabase(App.Path & "TheMushroom\A1\MushroomDatabase2000.mdb", , True)
    Set rs = db.OpenRecordset(sql, , dbDenyWrite, dbReadOnly)

That didn't work.

I tried putting this under the data control (I think this is where I should put this):

Data1.Options = dbReadOnly + dbDenyWrite
(I also set the option property to 6, whch would combine these two anyway)
That didn't work either.


As far as I can tell, I've used every common procedure known to VB and Access to fix this, acording to Microsoft Docs and EE VB and Access help files...ugh

AGGHHHH! :-)





Ok back again.. Change your OpenDatabase statement to read..

db = OpenDatabase( _
   App.Path & "TheMushroom\A1\MushroomDatabase2000.mdb", _
   TRUE, _
   True)

Parameter 2 makes your access exclusive, and parameter makes it read only.
   
Your Openrecordset statement needs correcting as well. If you want to use dbDenyRead and dbDenyWrite (which is kinda unnecessary as we have set exclusive use above) the syntax should be..

Set rs = db.OpenRecordset(sql, dbOpenSnapShot, dbDenyWrite,  dbReadOnly)

Make those two changes.. and off you go.. <smile>.

Hi wsh2,

I tried your code, and it still didn't work...makes no sense...that really should work, but it isn't...I wish I knew why...
Basically, it sees that we set it to read only, denywrite, and it gives me the big F-word, and still tries to write the ldb file....it's whole mission is to write that file, and it won't let us not let it...strange...every other help file I see on this, the user does any of the quick fixes already mentioned and their's works fine...I just don't get it...hmmmm
i think we just need to convince the database hes not in shared mode
the key is that we set it to exclusive mode...that SHOULD be the answer.  if its not doing it then i hafta imagine you missed something or theres a bug with access 2000
I'd hate to imagine that it's a bug in Access <gasp>...so I guess I just have to find what I missed...I've been sitting here trying various combinations of things all day since last night, save the 6 hours at school today (well yesterday now)......I just don't know....still says it's being shared by someone else...
things to keep the same:

Set db = OpenDatabase(App.Path & "\A1\MushroomDatabase2000.mdb", True, True)

those have got to be a must, honestly, i dont know what else to look at, i found this on the web:

"A questioner last month asked about opening an Access database on a CD-Rom. The problem was that it attempted to create and LDB file on the CD and that failed with a write-protection error. In a follow-up message he determined that opening the database specifying Exclusive and Read-only succeeded."


When you open access, and then go under File>Open, and then choose the little arrow next to the Open button, you can choose these two.  In this case, the LDB file doesnt appear.  To get the VB to do this tho, I guess is what is needed, cuz we won't actually physically be opening the Access file when the program runs...any clues?
well thats what we ARE telling vb to do but hes not listening.  so the question is why?  and if thats the case, where's the workaround?  we cant delete it.  can we move it? can we redirect it somehow?  we'll hafta wait til these other experts wake up in the morning for their input b/c i dont know.  
<offthread>

Mtroutman:
My complaint is with those, that don't appreciate other's time and efforts.. and sadly, here on EE, I have more than one case of this to show. It is to those type of questioners, that I direct my comments. Call it bickering if you like, but I prefer to believe I am just being honest.. and in doing so, I take my share of heat, perhaps deservedly so (judging by your comment).

Being honest is not always easy. There are those, that will always take it the wrong way.. but that is life, so be it. (Trust me, when EE opens a forum for tact, I am certain that I will be the first one to attend it.. <smile>).

I want you to know.. that well before anyone expressed an opinion.. all proper respect was paid to the questioner's problem.. and more than one working remedy to the problem was clearly presented. It was only when ALL the work was seemingly over.. ie. Mtroutman writes: "Found it...  Glad I could be of assistance!" proposed answer.. with DragonSun responding: "Since this problem was solved by Mtroutwine he will be receiving the 575 points".. did I ever choose to voice an opinion.. and felt justified in doing so. My efforts not withstanding, I happen to hold Marine, Azrasound and Bhamilto in very high regard, both as Experts and as people.. and for all of us to be brushed off that way (even though we had contributed to the solution).. seemed to me to be unjust/unfair.. and perhaps even frivilous considering the efforts that had been expended on the questioner's behalf.

I too have seen some of the Expert comments that you have alluded. But in all honesty, I have NO quarrel with them, as they are only being honest. Further, I can do something about those injustices, and have by answering their questions anyway. Had the questioner here proferred fewer points, I know that his efforts would have been greeted with equal zeal by the aforementioned experts, and that is why I hold them in such high regard.

As an Expert here on EE, I find a much greater problem with questioners who hold our efforts, our time, our experience in very low regard. Having patiently sat with some questioners refining their question properly, having dropped snippets of code and programming references.. and having answered multiple complex and technical questions in one purportedly "Easy" question..  I, like other experts here, have on more than one occasion been rewarded with comments like "My friend just gave me the answer.. or I solved it myself.. I am deleting the question", and it is with those kind of activities I hold great objection. When questioned as to what the solution was.. you find out that it was what you proposed.. or they never take the time to answer. I <laugh> about it now.. but I even had an occasion where the questioner deleted the question, and then within a day, copy and pasted the code I had done especially for him into another question (naturally claiming that he had written it) to ask a further question. I won't bore you with additional stories.. but trust me I have more (as most Experts do). The point that I'm trying to make.. there is NOTHING I can do about their borish behaviour.. except leave a comment.. and on occasion remind others of their woeful questions asked.. questions deleted EE record. Sadly, because of this, I hardly share your opinion that all questioners are virtuous and are to be held in such high regard as to be sacrosanct.

Trust me MTroutman.. if you had been stiffed in this endeavor, I would have been equally p*ssed, as I hold your talents.. and efforts.. in this matter in great regard as well. And as I stated earlier.. I very much respect you for stating your opinion.. even though in some ways it is contrary to mine. There is more to programming than just bits and bytes, to truly be successful there are numerous people skils to be addressed as well. As in your Expert solution, I find you to be Expert in expressing your opinion too.. <smile>.

Certainly, it is to soon to judge this questioner (not I could judge them in any regard).. I again repeat, as I did before, he/she is entirely free to award the points as they may deem fit. It is the principle I am interested in, not the points.

Welp.. its getting late.. Dr Dentom PJs and bedtime for me.. <smile>. Ok.. Ok.. I promise everyone here to take a Happy pill before I dozed off.. for tomorrow we are ALL off to good fortune. Niters everyone.. <poof>.
K.. back.. <smile>.. I see that there has been further work besides the diatribe of that nut WSH2 above.. <smile>.

Ok.. Rbudrick.. We are almost done.. hang in there.. <smile>

I need you do a couple of more things..

The True,True thing Azra and I provided you.. is a code fix for DAO 3.51. Yes.. I know you switched to 3.6.. but I want you to switch back to DAO 3.51, and then run another test.

If that doesn't work.. I want you to do some things..

1. Run Windows Explorer on your CD-Rom. Is there a LBD file in the MDB directory? If there is.. we gotta problem. Continue along with the steps here.
2. From Windows Explorer click on the MDB file.. and then properties.. is the Read Only attribute on or off?
3. What version of Access are you using? How did you originally create your MDB? Iy you did it through Access/97 or DAO 3.51.. leave your reference at DAO 3.51.
4. Time to do some things.. create a diskette with an MDB file on it. As a shortcut, use Access if you like.
5. Now, set its write protect tab on. This is going to be our testing device.
6. With your program, or another quick one you code.. try and open the MDB file on the Diskette. It should fail like the CD did.
7. Unwrite protect the Diskette. From Windows explorer.. set the Read Only Attribute to false. Write protect the diskette again.. and try opening it with DAO 3.51 again. If it works.. you have to recreate your CDRom.. But before you copy your MDB, set the Read Only Attribute to yes.. and make certain that you do not copy the LDB file if there is one. After that.. you should be in business.

As a last resort.. can you do what Bhamilto suggested.. circumvent the message with an On Error Resume Next.. and still function -and/or- implement an ADO connection as MTroutman has so capably provided? To be honest.. Mtroutman's solution would be the best.. <smile>.

<huge sigh>.. I wrote this right after my last silliness send.. since then EE has most inconveniently gone down.. Oh well.. I will have plenty of time to sleep when I am dead.. <lol> and a <wink>.
ASKER CERTIFIED SOLUTION
Avatar of MTroutwine
MTroutwine
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Hi Everyone,

I guess DragonSun and I would like to know, as we truly do want to please everyone, how the points should be distributed.  I will gladly give DragonSun as many points (to add to the total) as I have in order to distribute them more evenly.  We completely respect your opinions and your time, and we are deeply apologetic to those we may or may not have offended.  When Dragon posted the question originally, I don't think he knew exactly how the EE community works, and I am positive he will reconsider the point distribution.  I know, like Wsh2 said, it is the principle, not the points that matter, and we want to make this right.  Well...that being said...

in response to Wsh2's steps:

1: 3.51 makes the Database format unreadable

2: I have tested the program with that property clicked off and it the program works. when it is on, or on a write protected cd, the program doesn't work.

3. The program was made using Acess 2000, hence the 3.6 object library, and incompatibility with 3.51 (oh, and I'm using vb6)

4.OK
5.OK
6.OK
7. I cant open any databases w/ vb6 using 3.51 because I have access 2000.

I tried an On Error goto Errhandler
Errhandler: Resume Next in the Sub Form Load, and the program started without an ldb file being made...then when I entered the Drive letter in the pop-up box that  appears (which wouldnt even appear before as it was supposed to), it still gave me the error (which used to appear twice in a row, but worded slightly differently if I didnt mention that before), but only once.  The program started, and then when I did a search, it told me that the line

Set rs = db.OpenRecordset(sql, dbOpenSnapshot, dbDenyWrite, dbReadOnly)
 
is a run time error 13: Type mismatch

I even tried turning it back to Set rs =dbOpenrecordset(sql) just to see what would happen, and it gave the same error...strange
I got rid of the True, True part and it gave me the "Database being shared, blah blah" error again...wow...I hope this doesn't get more complex that it already is...

Well, we got it to stop writing the ldb file, but now the rror still appears and the search can no longer be performed
i think its time to just stick with ADO.  I never foresaw this as an issue, unfortunately, or I may have modified the project otherwise from the beginning.  being that i have the project on my pc i have tried just about everything to prevent it from creating the ldb file.  no cigar.
Ok, little update here...I think I hade the Errhandler part in the wrong place, but I dont get the Run time error 13 mesage anymore, and the DB works fine except the error about the database being in use/shared/whatever by another user pops up...

Well I guess the good news would be that the Project works, and the bad news is that the error still appears for no good reason...weird...Mtroutman, didn't you have a routine that made it pop up and disappear real fast?  Can't remember if you ever did that...I didnt see t in your ADO version...

Maybe If I put the Errhandler part under another control, that error will stop appearing too...will experiment with that now...
Azra, the Errhandler routine, strangely enough, allowed the other code that prevented the ldb file from appearing to work.  Don't know why, but the LDB doesnt appear now...
so now whats the current problem?
The work-around I have will work for non-trappable errors.  It will only work if a message box is displayed and dismissing it will allow the program to continue to function correctly.  It's nothing very magic - just a process running in a separate thread watching for the error and emulating a user if it occurs.

I consider this kind of thing a "remedy" of last resort.
Bhamilto,

Oh, it was you that had that routine?  (I shoulda read through the thread first :-)

I consider it a last resort too...but I'm kinda trapped at this point into doing something like that at this point. Basically, dismissing this message box does allow the program to run just fine, as far as I can tell....there's no other errors.

I think that in order to burn the 100 cds that Dragon Sun and I wanted to make to hand out at the show, we'd have to start on them tomorrow, or the next day at the very latest...

To answer Azra's question, the "shared" error still apears, but it kinda lies, as the project works anyway, even after I click ok on the error...strange.

But Bhamilto, if you could tell me that routine, we would be eternally greatful (as we are to all of you already, but you know what I mean :-)

You guys really are the best, for all the work you've done for us, and you time and patience, and I'm not just saying so because it was mentioned earlier!!!!  :-D
I'm at work and am in an out of meetings so the best I can do is give you an example which demonstrates the technique and let you and the others go from there:

The example emulates the user to autohide the taskbar.  It needs a single form and command button.  I know this runs on 9x and NT4 but not sure about 2000.

When I suggested this before I thought we were dealing with a non-trappable error that happened only at your program start-up.  I'm not sure we are dealing with this situation now, but I'm sure it is still usable. To adapt this you need to watch for the message box to appear (similar to waiting for the taskbar dialog), wait for the button to appear (use the same technique as per message box but with findwindowex), and press the button (as per Press the OK button):

- The code needs to run in a separate thread since I assume your program is suspended when the message box is shown.  This can be a separate exe that is launched by your program (or can be run first and launch your program if the error occurs on start-up).

- If the error only occurs once on start-up simply watch for the message box (class = "#32770", not sure what caption your showing) instead of the taskbar properties dialog.

- If the error occurs when-ever something is done in you app, you will need to use a timer (or the "sleep" API), or some kind of semaphore to communicate between the two programs (use of semaphores will also minimize the time that the message box is showing before it is dismissed).

The Taskbar sample (You don't need the undocumented Taskbar messages):

--- Declares ---

Option Explicit
'
' ***********************************************************************************
' * NOTE - Should add wait loops when accessing child control handles:              *
' *        Apparently they may not be defined as soon as the main dialog box is.    *
' *             (specifically TBDOphWnd and TBDChildhWnd )                          *
' *        Should also add Sleep and timeouts to all wait loops.                    *
' ***********************************************************************************
'
' The following are WM_COMMAND message wParam values for the taskbar (undocumented?).
' These all use lParam = 0, so more functionality may exist with other values.
' Tried 380 up to 440 - None did anything except:
'
' 401 = Show Run menu
' 403 = Normallize all windows
' 404 = Normallize all windows (Tile)
' 405 = Normallize all windows (Tile)
' 408 = Bring up date/time dialog
' 409 = ************ Crash? or improper shutdown ************
' 410 = Undock computer
' 413 = Taskbar properties dialog
' 415 = Minimize all windows (same as 419)
' 416 = Undo Minimize all windows        
' 419 = Minimize all windows              
'
Private Const TBProperties = 413          ' wParam to show taskbar properties dialog

Private Const WM_COMMAND = &H111
'
' Button messages:
'
Private Const BM_GETCHECK& = &HF0         ' Return Check box state - wP = lP = 0
Private Const BM_SETCHECK& = &HF1         ' Returns 0, wP = BST_xxx, lP = 0
Private Const BM_CLICK& = &HF5            ' Click a button - wP = lP = 0
'
' Returns from BM_GETCHECK or wP for BM_SETCHECK:
'
Private Const BST_CHECKED& = &H1
Private Const BST_UNCHECKED& = &H0

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Declare Function FindWindowEx& Lib "user32" Alias "FindWindowExA" ( _
ByVal hWndParent As Long, ByVal hWndChildAfter As Long, ByVal lpClassName As String, _
ByVal lpWindowName As String)

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" ( _
ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, _
ByVal lParam As Long) As Long


--- Command button code ---

Private Sub cmdCompAutoHide_Click()
Dim TBhWnd As Long              ' Taskbar handle
Dim TBDhWnd As Long             ' Taskbar dialog handle
Dim TBDOphWnd As Long           ' Taskbar options handle
Dim TBDChildhWnd As Long        ' Handle for dialog buttons
Dim AutoHideState As Long       ' State of autohide check box
  '
  ' Bring up the Taskbar properties menu:
  '
  TBhWnd = FindWindow("Shell_TrayWnd", vbNullString)
  SendMessage TBhWnd, WM_COMMAND, TBProperties, ByVal 0&
  While TBDhWnd = 0                             ' Need time-out here ... it may not appear.
    TBDhWnd = FindWindow("#32770", "Taskbar Properties")
  Wend
  '
  ' Get the option dialog and autohide checkbox handles:
  ' *** Need to wait for these as was done above - on some machines this code may execute
  '                 before the controls appear ***
  '
  TBDOphWnd = FindWindowEx(TBDhWnd, 0&, "#32770", "Taskbar Options")
  TBDChildhWnd = FindWindowEx(TBDOphWnd, 0&, "Button", "A&uto hide")
  '
  ' Complement the autohide state:
  '
  AutoHideState = SendMessage(TBDChildhWnd, BM_GETCHECK, ByVal 0&, ByVal 0&)
  If AutoHideState = BST_UNCHECKED Then
    AutoHideState = BST_CHECKED
  Else
    AutoHideState = BST_UNCHECKED
  End If
  SendMessage TBDChildhWnd, BM_SETCHECK, AutoHideState, ByVal 0&
  '
  ' Press the OK button
  '
  TBDChildhWnd = FindWindowEx(TBDhWnd, 0&, "Button", "OK")
  SendMessage TBDChildhWnd, BM_CLICK, ByVal 0&, ByVal 0&
End Sub


Good luck - Gotta run, I'm late for the next damn meeting.
1. rbudrick.. who gave you permission to sleep?.. <lol> and a <wink>.

2. Yes.. you are correct DAO 3.60 is the only way to go under the circumstances (to bad its documentation is so crappy.. <sigh>).

3. If possible, can you forward your project source to wsh2@aol.com?

For some reason.. I am still confident that we can get this to work. Be back at ya, in a bit.. <smile>
1.  Create a new Standard.Exe Project
2.  Put a Listbox (List1) on Form1.
3.  Add Project References for:
    Microsoft ADO Ext 2.1 For DDL and Security
    Microsoft DAO 3.6 Object Library
4.  Copy/Paste the following into the Form1 code window.
5.  Place a blank Diskette in Drive A.. NOT Write protected.
6.  Press F5 to Run. When the Write Protect Diskette Message appears, WRITE PROTECT the diskette.. and hit OK.
7.  The numbers 1 to 10 should appear in the Listbox.

<----- Code Begin ----->

Option Explicit

Private Sub Form_Load()
   
   On Error Resume Next
   Kill "a:\MyFile.mdb"
   On Error GoTo 0
   
   Dim cat As New ADOX.Catalog
   Dim strConnect As String
   strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" _
      & "Data Source=a:\MyFile.mdb"
   cat.Create (strConnect)
   
   Dim tbl As New ADOX.Table
   tbl.Name = "MyTable"
   tbl.Columns.Append "MyField", adDouble
   cat.Tables.Append tbl
   Set cat = Nothing
   
'  Load Data
   Dim dbPut As New ADODB.Connection
   dbPut.Provider = "Microsoft.Jet.OLEDB.4.0"
   dbPut.ConnectionString = "a:\MyFile.mdb"
   dbPut.Open

   Dim rsPut As New ADODB.Recordset
   rsPut.ActiveConnection = dbPut.ConnectionString
   rsPut.CursorType = adOpenKeyset
   rsPut.LockType = adLockOptimistic
   rsPut.Source = "SELECT MyField FROM MyTable"
   rsPut.Open

   Dim intIndex As Double
   For intIndex = 1 To 10
      rsPut.AddNew
      rsPut!MyField = intIndex
      rsPut.Update
   Next intIndex
     
   rsPut.Close
   Set rsPut = Nothing
   Set dbPut = Nothing

'  Pause To Turn On Write Protection
   MsgBox ("Write Protect The Diskette")
   
'  Read data
   Dim dbRun As DAO.Database
   Set dbRun = OpenDatabase("a:\MyFile.mdb", True, True)
   
   Dim rsRun As DAO.Recordset
   Set rsRun = dbRun.OpenRecordset("SELECT Myfield FROM MyTable")
     
   Do Until rsRun.EOF
      List1.AddItem rsRun!MyField
      rsRun.MoveNext
   Loop
         
   rsRun.Close
   Set rsRun = Nothing
   Set dbRun = Nothing

End Sub

<----- Code End ----->
Oooops.. Check that.. use this pasted code instead.. <smile>.

<----- Check Begin ----->

Option Explicit

Private Sub Form_Load()
   
   On Error Resume Next
   Kill "a:\MyFile.mdb"
   On Error GoTo 0
   
   Dim cat As New ADOX.Catalog
   Dim strConnect As String
   strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" _
      & "Data Source=a:\MyFile.mdb"
   cat.Create (strConnect)
   
   Dim tbl As New ADOX.Table
   tbl.Name = "MyTable"
   tbl.Columns.Append "MyField", adDouble
   cat.Tables.Append tbl
   Set cat = Nothing
   
'  Load Data
   Dim dbPut As DAO.Database
   Set dbPut = OpenDatabase("a:\MyFile.mdb")

   Dim rsPut As DAO.Recordset
   Set rsPut = dbPut.OpenRecordset("SELECT Myfield FROM MyTable")
   Dim intIndex As Double
   For intIndex = 1 To 10
      rsPut.AddNew
      rsPut!MyField = intIndex
      rsPut.Update
   Next intIndex
     
   rsPut.Close
   Set rsPut = Nothing
   Set dbPut = Nothing

'  Pause To Turn On Write Protection
   MsgBox ("Write Protect The Diskette")
   
'  Read data
   Dim dbRun As DAO.Database
   Set dbRun = OpenDatabase("a:\MyFile.mdb", True, True)
   
   Dim rsRun As DAO.Recordset
   Set rsRun = dbRun.OpenRecordset("SELECT Myfield FROM MyTable")
     
   Do Until rsRun.EOF
      List1.AddItem rsRun!MyField
      rsRun.MoveNext
   Loop
         
   rsRun.Close
   Set rsRun = Nothing
   Set dbRun = Nothing

End Sub

 <----- Code End ----->
Fellas.. reading a naked Access/2000 write protected MDB is not a problem.. there is something else going on here.  

According to Rbudrick, he used Access 2000 to create a Test Diskette, and the read test to a write protected copy of it failed. Using VB, I created an Access/2000 MDB, write protected it, and my read test succeeded quite well. Something really stinks here.

My first question is this.. do your Dim statements read like this?

  Dim db As DAO.Database
  Dim rs As DAO.Recordset

If not, change them and run another test.

Second, at any time was there.. or is there.. any security applied to this Access MDB? On your Test Diskette or your CD is there a MDW file? I know that DAO has a permissions collection, but how it applies here, I am not sure.  

Gotta run.. be back to check in with ya later.  

Hi guys,

At work here, so I can't answer some of Wsh2's q's without seeing the code, But I finally got a chance to test the CD on a non-vb machine here at work....

Well first it didn't work because it was looking for msvbvm60.dll....well I found it and dumped it in C:/windows/system, then the prgram started.  I guess I' may have to distribute that with the program. When I performed a search, a new error happened reading:

Runtime Error 339
Component Richtxt32.ocx or one of its components is not properly registered: a file is missing or invalid.

Ouch.  
With this error, I'm not sure what to do...I really wasn't expecting this to happen....ugh

basically its a prob with a richtext box Azra made work for me earlier...
basically its a prob with a richtext box Azra made work for me earlier...
Hi Wsh2,

I don't really have any security on the project, so there is no mdw files happening.

I tried you code snippet on a disk, and the numbers 1-10 did appear in the box...

Oh, and my code doesn't read like this:

Dim db As DAO.Database
Dim rs As DAO.Recordset

It's more like:
Dim db As Database
Dim rs As Recordset


I'll send the project off to you...Umm I guess I should send a couple files worth of articles to ya too...

I'll send it to Azra too, since he hasn't seen the newest in a couple days...




I think the run time eror can be cured with some error trapping....I guees an Errhandler routine could go under the rich text box control....but I'm not sure if that would do it...nor am I sure if other run time errors will occur after I get that fixed.  Does anyone have an extra machine w/o vb installed that they can test the project on (kind of like a typical ol' "user's" machine)?  The only chance I get to test these errors is on the tech consultants' machines, and I'm a computer telesales rep, and they don't like when I'm not on the phones for too long...so if anyone notices any other errors, I would love to know.

BTW, is there any way we can repay all of you guys when this is over?
rbudrick

Sorry - can't help with a "virgin" machine - all of mine have VB of some flavor.  

Are you talking about error trapping for Runtime Error 339?  

What kind of installation package have you put together?  Wsh2 was wondering about this as well (its in the thread).  You really should put a complete deployment package together, including msvbvm60.dll.

Don't know where everyone is tonite.
I am working on the project right now.  I'm pretty sure I have got it working, I'll post more info shortly.
Ok, on my machine it works fine now, no creations of .ldb files, no run time errors, no notable errors of any kind.  When I first helped out on this project I was brought in to solve the problems they were having performing their queries and also to help with creating a hyperlink-like richtextbox control that allowed the user to click on, in order to load the article into a webbrowser control.  I never really paid too much attention to the rest of the code at the time because it seemed to be running just fine.  Tonight I found some time to look into it a bit more closely.  First thing I did was perform a little cleanup. There were about a dozen controls/references that weren't used at all but were selected from the components/references list.  No big deal really.  Then I ran through the code to catch anything that threw me off.  First thing I found were TWO database variables, each of which referenced the database and were trying to open it.  How that got in there, I don't know.  I removed it and ran the project.  


Upon running it, it immediately came up telling me that there was no database at such and such a path.  This confused me quite a bit since I knew that the database hadnt even been referenced yet in the code.  So i pressed ok and proceeded and, to my surprise, everything worked out just fine.  Hmmm..couldnt find the database, but yet, there it is.  So I went back into the code and hardcoded the path in just for grins...no change.  Then I took a step back and looked at the forms themselves.  Thats when I saw tucked away into the bottom right corner out of view, a little datacontrol all by his lonesome.  I didn't want him to feel all alone so I deleted his happy ass.  As you guessed, it was the data control making the reference that caused the error.  After deleting him everything worked perfectly (on my computer at least).  Now its just a matter of convincing these fellas that pdw is the way to go and I think they'll be set.
Ok, everyone...this sounds good...first, what's pdw, and does anyone know what group of files I should include in this little instal I should make?  I remember coming across something at one time or another about making an install proggy, and I don't remember where...

My naivete has gotten the best of me...I never thought that I'd have to do an install...but now I see you guys are right.  Wow.  That's gonna be tough to whip up in a couple days....

If we only had a million dollars to give you guys....we would! You're realy saving our keesters here!
PDW is "Package and Deployment Wizard" (the install program).  If you put a complete package together and can wait until tomorrow I can probably find a machine at work.
rbudrick

Sorry - I didn't really answer your question.  I'm running vb5 so I can't give you a definitive answer for vb6.  Basically the wizard walks you through the process and knows what files to include.  I'm sure one of the others will have vb6 specific knowledge.
rbudrick

Sorry - I didn't really answer your question.  I'm running vb5 so I can't give you a definitive answer for vb6.  Basically the wizard walks you through the process and knows what files to include.  I'm sure one of the others will have vb6 specific knowledge.
Wow!  Almost there!

Azra! You've done it again! You got rid of that god-forsaken "shared" error!

Again, in my naivete, I thought that that control was still necessaru even tho the think was linked thropugh DAO...whew!

So, with the pdw, this will include even that dll file?  

Will it start the setup when the user inserts the cd?

Does do stuff like make a shortcut to the desktop or prompt the user to insert the CD when the shortcut is pressed?
Oh, bhamilto, and wsh2,

I would like to put you guys in as credit under the "About button, " if you want, of course. If you want to tell me your real names, I will be honored to put them in there.  Already, Azra and Mtroutwine are in there.

On a different note, the jacket liners to the CD's were already printed with EE and Azra already thanked (as we thought we were about done when they were printed), and I wouldnt be able to reprint them, but I would still like to put you in the about button, if it's ok with you guys.

Just lemme know at rbudrick@hotmail.com

rbudrick

I assume there are email exchanges going on so I'm not sure exactly where you are at (obviously you've got the program back from Azra).

Is somebody helping you put the install package together?
I told him the basics of getting started with the pdw and he will post if he has any questions concerning it.
rbudrick

Signing off for tonite.  As I mentioned before I will be happy to test a final version of your program (complete with a setup package) at work tommorrow.

Configurations at work are Win95 or 98 with Office 97.  

I'm not sure how early I'll have results because I have morning meetings (PDT - West coast).

If this will be any help send as an email attachment to:
bhamilto@mda.ca (note CA not COM).  Don't worry about the size of the attachment, MDA has a T1 connection.

Good luck with your tight deadline.

Regards - Bob Hamilton
Adjusted points from 100 to 695
I would first like to thank everyone here that has been giving us assistance. Wsh2 again I do apologize for my previous comments etc I am still a newbie at EE and to quote Jedi Master Yoda "Away put your weapon I mean you no harm". I have rejected the initial answer, and I in an effort to try and please everyone I am going to do 2 things.
1) Everyone as Rbudrick has mentioned will be getting their names in the credits of this program (it will be distributed at E3 this year and will end up in the hands of some very influential people). I hope this is satisfactory to all of you, as I would appreciate having your real names (* thank you bhamilto I will be sure that we add your name to the VB, and if you would like add your e-mail as well), (who knows what big names will end up with this project, hopefully it will spark the interest of someone up on the chain of command and we will all make it rich heheh).

2) I am going to follow the link Wsh2 sent, and I am going to request that all of the points that I am now posting be divided between Wsh2, Bhamilto, AzraSound, MTroutwine and Marine. If possible I will continue to raise the ammount of points on this question so that you all earn more for your time and efforts.

Again I do want to show my gratitude in some way, and I would like to correct the problems that I may have caused in the initial conversation. I hope that all of you will accept my humble appologies and that there is no bad air between any of us. Thank you very much.
-Ryan Fulton "DragonSun"
Adjusted points from 695 to 795
So how did it turn out?  Did you get a complete setup package done? Have you checked it on typical end-user configs?

As far as points are concerned, my contribution was minimal (and fortunately not required).  The lion's share of the points should go to the ones who slaved away over the program.

Good luck - Bob Hamilton
Dragonsun.. Will you quit screwing around here and go help Rbudrick?.. LOL and a <wink>.

We'll talk about it AFTER the show.. <smile>
The FULL Setup package is going to be VERY key here.. or there are going to be customer calls a plenty.. <sigh>. Step number 1 when they return.. is to go over creating a FULL install.. hopefully at the show.. they will get ALL their customer names and addresses so that they can send them an UPDATE as soon as it becomes available.. StartUps.. some fun, eh?.. <smile>.
Hi guys...
Just got back form school here...it was around 3 am last night when I got the news of making going through pdw...so I will attempt that now.  DragonSun and I put to gether the cds, jackets, labels and tray liners today, so now we have to finish the proggy and burn it.

Wsh2...you mention a Full install....is this what  pdw does?  I hope so...is this opposed to a partial install?

Talk soon!
Rob

Rob.. am here.. if you need fast attention.. copy and paste into EMail and send to me at WSH2@aol.com. This PDW step is VEREY important.. don't be shy, hear?

By the way.. do you have AOL Instant Messenger?.. That would allow us to chat two way.
Hi Wsh2..yeah I have instant messenger, name  there is bahnt.  Will try ya now...
Ok.. some quick PDW instructions.. <smile>.

1.  From Visual Basic.. Load the Project you want to Package and Deploy.

2.  Vb-Menu -> Tools -> Add-In Manager select the Package and Deployment Wizard click on the Loaded/Unloaded Button in the Load behaviour Box.. and then hit Ok.

3.  Vb-Menu -> Tools -> Add-In Manager and click on the Package and Deployment Wizard  line.

4.  When the Wizard appears.. click on Package.

5.  When you are asked if you want to compile the project.. click on YES.

6.  On the next screen, in the Package Type box.. select Dependency Files and hit Next.

7.  Select the Folder you want to put the Dependency File information in and hit Next.

8.  The next screen is very important.. Missing Dependency Information. If anything appears here we want to address it. The quickest way to do this is to search your harddrive for the missing component and place a copy of it in the directory that the Missing Dependency File is looking for it in. At a later point in time, we will correct this. If everything IS onhand, ie no missing file dependencies, go to the next step.

9.  On the next screen, Include Files, select ALL of the Dependency files listed there. Click Next.

10. Press Next at the Cab Information Screen.. (that is for a Web Distribution which we are not doing).

11. Press Next at the Location screen.

12. You can put a name in for the Dependency Script file here.. or just use Dep File 1 as suggested. Make sure you remember the name.. because we are going to know it later. Click On Finish.

13. A Report screen will appear.. save it if you want.. its no big deal.

We are now done with step 1.. hang on for step 2.




Ok Step 2..

1. When the Opening Wizard screen reappears, click on the Package button.

2. Recompile the project.

3. Packaging script should read "Dep File 1" or whatever you named the dependency script to. Click Next.

4. Select Standard Setup Package. Click Next.

5. Select a Folder to put the Setup Package in. Create a New Folder here if you like, or just Overwrite the contents of the Folder we have been using. Click Next.

6. In the Included Files Section.. check ALL the boxes. The Add button will allow you to put additional files into the Setup Cabs if you need them (Like an INI file or Config File if you use them). Click Next.

7. As we are coming from CD.. a Single Cab should do. Click Next.

8. Put A Title in for the Install Setup Screen when it appears. Click Next.

9. Setup Start Menu Groups and Items on this screen for shortcut creation. Click Next.

10. On the Install Locations Screen.. you can change where Windows will place your components when it installs on the Client computer. For right now.. the defaults should be ok. Click Next.

11. PDW will now ask if your project is one that needs to be shared.. ie.. your project is a component of other programs. In this case your application is a standalone.. so click on Next.

12. The setup script name that is being asked for.. is used to rerun the same setup procedure again in the future.. we will cross that bridge in the future. Click Finish.

Your FULL Install Package will now be created.. <smile>.

Gotta get a soda.. will be back in a sec.

In PDW Step 5.. "Select a Folder to put the Setup Package in. Create a New Folder here if you like, or just Overwrite the contents of the Folder we have been using. Click Next."

Take it easy on yourself and specify a NEW Folder Name.. the contents of this folder are what you are going to copy to your CD

Well, as Wsh2 and Azra know, I get an Error message with the pdw when the last step is done...

-An unknown error occured while building the cabinet file 'M_A_D.cab.' Please verify that you have proper access to the destination and that there is sufficient space there to create the file.-


This is such bull! There's like 1.5 gigs left on my HD, and no partitions or anything like that.  I found this on Microsoft's site "explaining" the error

http://support.microsoft.com/support/kb/articles/Q196/5/83.asp

Of course, none of there causes is true for my case...leave it to <swear word>ing Microsoft...

Ugh again.

Hi guys,

Hey Wsh2, would it work on my machine if you made the setup, etc. files and emailed em to me.  I know theyd be big, but the time it took to figure out the error my be longer than downloading the files (in your case uploading, if you don't have a broadband connection).  If you think it could work, I guess zipping em up would help some.

It's an idea anyway...
Send the project files.. and lose the underlines in the Setup name
i sent him my version of the pdw i did as well...one of ours is bound to work...note to Rob...we need a different email addy to send to, the size exceeded your mailbox limit and i had it as two seperate zip files so....or wsh2 you may want to break it up even more..i dont know the limit for hotmail
If you need some place to send it to you can send it to my mushroom account. I can send it to Rob if necessary. Rfulton@themushroom.com
I am leaving my outlook running and it is set to download mail every 5 min.. so I will keep an eye out for it.
Oops I just re-read that and realized it looks bad, what I mean is if Rob hasn't supplied you with an e-mail address to send to, then you can send it to mine and I WILL send it on to him.
i sent it to you dragon but as i stated his email box wouldnt hold files that big
Ok, I parts 1 & 2 now
is that all there is? Just so I know what to send to Rob or  should I expect to d/l more?
nope thats it..but i dont know, you may need to split it up into smaller pieces to send him...i tried sending to him already and it got rejected MAILER-DAEMON
Azra....those files you sent Dragon..  What tdirectory do I put those in?
OK I am going to send them to Rob. hehe I think he is delerious, he wants to make sure that they can go in the same folder. And don't have to be in a special folder. It should be everything right? The Database and the VB total?
Come to think of it I think that if I spent as much time and as many late nights as he has on this (I usually have to stop at 1:30 or so) that I would be delerious too
all i sent were the files created through the PDW

Rob - just to be consistent, I put the default folder of package under TheMushroom.  All the dlls in pdw1.zip will go into a subfolder of Package called Support
Ok Azra...just to be sure...everythin in pdw 1 goes in Support, and all from pdw2 goes in Package?  Cuz I noticed the setup file is in pdw 1...hmmmm.....just dont want things to end up in the wrong place....with my luck it will screw up some kind of reference to something If I move them...
right theres actually a setup in both of them:  heres how it is arranged on my comp


TheMushroom
   A1
   Images
   mush0101
   Package
      Support


hope that clears it up
Well, doesn't really clear it up, no.  To be more clear, which dir should I extract each Zip to?
Rbudrick.. I have limited communications through EE here.. ETA is now 2:36am.. everything is going well.. <smile>
ok i confused myself...unzip pdw1 into Package folder and unzip pdw2 into the Support folder thats a subfolder of Package
Instructions for the Setup I am sending..

1. Download and unzip the files into a separate directory.

2. Copy the three files (SETUP.EXE, SETUP.LST, M_A_D.CAB) to your CD-Rom.. I assume the Root Directory is where you want to go.

3. IMPORTANT: Uninstall (Start -> Settings -> Control Panel -> Add/Remove Programs) The Mushroom Article Database if it is there.

4. Run the Setup program from the CdRom.

5. Test to make sure everything works.

<--- ETA is still 2:36am --->
I am still alive on this end, I would say I am still awake but I feel as though I am falling asleep at the wheel hehehe I guess I am getting old in my old age. Why back in my day I could stay up till 5 or 6 and not even feel it... of course I was also sleeping until noon or 1 hehehe. Ah yes the good ol' days of 1997 heheh
You Have Mail
Ok download in progress... ETA approx 10 minutes until final completion of download
ok so i lied... hehe I just finished getting the file
Just read the thread.. Azra put in the Directory name on the CDRom as "TheMushroom".. that is how the M_A_D.Exe I sent you is coded.. is that how your CD directory name reads?.. If not.. can you change it?
Speaking of threads, maybe we can make a suggestion to EE to award prizes to people involved in the most commented threads.
LOL Azra, yeah I think this one might have set a record...
well I am off for the night, although I will check back tomorrow, as I am sure I will have at least 10 more e-mails telling me the thread has been updated hehe thanx again guys,
night azra, wsh2
Ok everyone,

Wsh2 (aka da bomb)  successfully created some setup files that work on my machine.  DragonSun and I will test it tomorrow on school (guinea pig) machines.  DragonSun, Wsh2 sent you an update to the install w/ a typo fixed.  Send it to me first thing tomorrow, and I will put it on the CD.  If it works, on school machines (read: the most crappy machines in the world) we're golden.

Azra, looks like Wsh2's setup worked out better, so we'll use his.

Until tomorrow...
Azra:
Your install/setup worked fine.. But, in the copy of the code I received to package, had a bug in the Module1 Sub Main procedure.. for some reason the Opendatabase statement was in front of the frmForm1.show.. and in its path read app.path insted of drv. Moving the statement after frmForm1.Show.. and changing app.path to drv.. makes everything ok.

Oh.. and you are definitely right.. diz puppy still needs a lot of work. You and MTroutwine did a helluva job just getting it to this point. As to me.. I just made a lucky catch.

Anyhow, see ya when we all eventually wake up again.. until then.. have a great decade.. <smile> and a <wink>.
oh I was doing all sorts of things trying to resolve that error they were getting, forgot to set it all back to normal after I realized what it was...sorry 'bout that.  
Rob
I am trying to get in touch with you, I don't see you online and your phone is busy so I am hoping that you are checking this or checking your e-mail and not desperately trying to kick a family member off the comp.... delays delays delays hehe
Oh.. by the way.. the reason that rbudrick could NOT create a Setup was because he was running it from a CD-RW. PDW in its Finish step.. tests to see if the device is removable (which a CD-RW is considered to be).. and as such.. wants to do a Multiple Cab install as though it were a diskette drive. As the setup was created as a Single Cab, PDW naturally balks as per the message Rbudrick delineated above.

The work around for this (and common sense because it is much faster).. is to ALWAYS do ALL of your work from the Hard Drive. Only use the CD-RW as a COPY TO.. COPY FROM.. transportation device.

Thingz for the future, while I am thinking about them. The please enter cdrom drive letter is unnecessary.. just iterate back to front through the alphabet doing a DIR test for \TheMushroom\MushroomDatabase2000.MDB. If it is not found.. the program is NOT going to work anyhow. The fact that we are even using the CD-Rom, I believe is unnecessary too. The Data Files here, are only 5-10mb.. not very large by todays standards, and should be placed in the application Directory on the disk. Having the user put in a CD Rom to just use your software, is a big turnoff.. and application usage will suffer from this. The best solution here.. is to give the user a choice.. as to whether he wants to run CdRom based.. of CdRom-less.

The user interface, while effective is not very intuitive. the program opens with 6 empty combo boxes.. and 4 command buttons (one of them search).. and doesn't give the user a clue as to what to do. You want to make your software a no brainer.. because there are people like me trying to use it.. <smile>.

Welp.. datz it for now.. Later All.
Dragonsun:
You should have another download M_A_D_2 (at rfulton) to do there.. if you haven't done it yet.. do it.. cause Rbudrick will want it if/when he ever wakes up again.. <smile>
I had that problem before where it says file not found when searching for the database at \TheMushroom\Mushroomdatabase2000.mdb
when looking carefully at the error message it told me that it couldn't find \\TheMushroom\MushroomDatabase2000.mdb  the solve that I performed in order for it to find the file was to remove the first  "\" from the link. I think its because once the box asks for the location of the drive it is imbedded to place "\:" in front of it already. This would be the reason for the double slash to appear and make it question the actual location of the database. Although I haven't run any tests with the file you sent me Wsh2 I have downloaded it and I am trying to get in touch with Rob so that we can get a master cd put together. Again I want to thank you for all the help you have been providing us with. Without your help Rob and I would more than likely be still getting the CLS error and pulling our hair out in panic. Thank you very much! And if there is any way we can pay you back for all your help let us know and we will see what we can do.
Dragonsun.. there are things you can do now.. <smile>.

1. Unzip the second file I sent you into a New Folder.. so that all the files (SETUP.EXE, SETUP.LST, M_A_D.CAB) are in that directory by themselves.. <trying to keep things neat here>.

2. IMPORTANT: Uninstall (Start -> Settings -> Control Panel -> Add/Remove Programs) The Mushroom Article Database if it is there.

3. Go back to the directory that you put (SETUP.EXE, SETUP.LST, M_A_D.CAB) in.. and run SETUP.EXE.. If you have the time.. Test.. Test.. Test. And add anything you find extraordinary to your User instructions.

<smile>.

 
Hi wsh2,

Yeah, I'm up :-)

Will head over DragonSun's soon.  About my user interface:  You're the first person that's seen it that said it was flawed!  Lol.  Yeah, I want to include help files and stiff like that next time.  The jacket liner of the CD, does have instructions, however (which will now need an update in the form of a piece of paper inserted or something saying how much we suck because we left the teensy step about doing the setup out).

And about the user having to put in the Drive letter...Azra, DragonSun and I (well Azra really came up with the soulution) noticed that the CD didn't work if it wasn't in someone's D:\ drive....major user drawback.  I wasn't aware of how to auto detect the drive..I knew it was possible, but I had no clue how to do it.  It would be very cool to have that for next time, along with an autostart/setup file.

I guess giving them the option to do it CDRom-Less is a good one, but I frankly did'nt think there would be time to implement it.  All very good ideas, and, as always, your input is super-duper appreciated!
Oh yeah,

We still havent added bhamilto's and wsh2's names in yet.  Would it screw up the Setup files if I recompiled the EXE with that updated? Oh, and wsh2, I don't think you expressed interest yet if you wanted to be in there, so lemme know...
the 'enter the drive letter' came about b/c at the time it still wasnt clear where everything was going to be.  was the exe going to be put on the users hd?  could it only be run from cd?  the articles i assumed would always be on the cd and thats why i used that method, b/c its sole purpose is to work with the hyperlinks in the richtextbox.
All points well taken.. but will only be discussed later when we stop for a drink at the bar. Right now there is still work to be done.. Dragonsun and Rbudrick.. get out of here.. Azra.. pass me a beer.. <lol>.
So...about those names being put in...

And also, other than, testing these, if they work, think thy're ready for version 1 (ready to be burned)?
Screw the names.. and tell people you are in Beta with a major new release coming.. it worked for Bill Gates.. (you know.. VB Heaven.. er 7.. will be out soon).. it should work for you. Right now go for it.. and learn from the distribution experience.. <smile>.
So...about those names being put in...

And also, other than, testing these, if they work, think thy're ready for version 1 (ready to be burned)?
Ok, wsh2.  You and Bhamilto will go in the "update liner" we'll make for the instructons then.  I guess your name will just be .....wsh2, and bhamilto's will be Bob Hamilton.
Ok, wsh2.  You and Bhamilto will go in the "update liner" we'll make for the instructons then.  I guess your name will just be .....wsh2, and bhamilto's will be Bob Hamilton.
Ok, wsh2.  You and Bhamilto will go in the "update liner" we'll make for the instructons then.  I guess your name will just be .....wsh2, and bhamilto's will be Bob Hamilton.
Ok, wsh2.  You and Bhamilto will go in the "update liner" we'll make for the instructons then.  I guess your name will just be .....wsh2, and bhamilto's will be Bob Hamilton.
"go crazy wit da cheez wizz!"

hey rob go easy on the submit/refresh there...me and wsh2 are the ones who are supposed to be getting drunk
Adjusted points from 795 to 800
Wow! I didnt know refresh did that! I suck!  (lack o beer)
Installation was successful!!!!  It worked on a friend's machine, and on the school computer.  Interesting thing tho: if IE is not on the machine, then an error appears (339) it was looking for shdocvw.dll.  We figured out quickly that Only Netscape was on the machine...we downloaded IE, and walla! I guess pdw doesn't include certain Netscape files.  Probably not a big issue, but something I want to fix for V2 (hey, it's a year till the next show).
since you incorporated the use of the webbrowser control in your project it requires that your user have IE (i believe at least version 3?) to run. something to consider for version 2 as well...maybe forego the webbrowser control and just launch the user's default browser.
Nah, there's a way to make netscape user's M_A_D work....I ran acvross it somewhere I think....just need a few files, I'm pretty sure...
ooooh Mr. Rob telling me wassup!!  haha j/k

From MSDN:

Reusing the WebBrowser Control

The WebBrowser control adds browsing, document viewing, and data downloading capabilities to your applications. Applications using this control will allow the user to browse sites on the Internet's World Wide Web, as well as folders in the local file system and on a network. The WebBrowser control supports Web browsing through both point-and-click hyperlinking and Uniform Resource Locator (URL) navigation. The control maintains a history list that allows the user to browse forward and backward through previously browsed sites, folders, and documents.

The actual parsing and rendering of the HTML documents in the WebBrowser control is handled by the Mshtml.dll component of Microsoft® Internet Explorer 4.0. The MSHTML component is an Active Document (also known as an OLE document object) that provides support for parsing and rendering with the Dynamic HTML object model, as well as for hosting ActiveX™ Controls and scripts. The WebBrowser control directly handles the navigation, hyperlinking, history lists, favorites, and security. Applications can also use the WebBrowser control as an Active Document container to host other Active Documents. This means that richly formatted documents, such as a Microsoft® Excel spreadsheet or Microsoft® Word document, can be opened and edited in-place from within the WebBrowser control. WebBrowser is also an ActiveX Control container that can host any ActiveX Control.


Internet Explorer 3.0 Compatibility

The new WebBrowser_V1 object is now included with the WebBrowser control. This object supports the set of properties, methods, and events that exist in Internet Explorer 3.0. You can use the WebBrowser_V1 object in a Visual Basic project to run on computers with either Internet Explorer 3.0 or 4.0 installed. The WebBrowser object requires Internet Explorer 4.0 to access the new properties, methods, and events listed above.




yeah, lol. That's the article we found in about five minutes that hinted us toward what was up with that...heh heh
Keep at it guys.. I'm still busy  here.. <sigh>

http://www.borrowed-rainbow.com/happyday.htm
Community Support has reduced points from 800 to 267
Hi everyone,

I have reduced the points on the question to 267.

DragonSun, please accept one of the Experts comments as an answer. Remember, the Accept Comment as Answer button is in the header of the comment.

For the other two Experts, post two new questions. The new questions title should be 'For ExpertName - 10333386' with the appropriate Expert name and it should be for 267 points.

For your convenience, you can use this link to create the new question:
https://www.experts-exchange.com/bin/NewQForm?ta=31

darinw
Customer Service
OK This is for one,
I am now posting 2 more questions. Each worth 267 points One for Azra and one for Wsh2
I do appreciate all your help everyone. I only wish I could offer more points right now. Although this 800 is all I have to offer. I am sure that Rbudrick will also suppliment you with points as well for your hard work. Thank you again. If you have any questions or anything at all you can contact me at rfulton@themushroom.com Thank you again : )
One More Comment,
BHamilto ... I am so sorry! I am doing my best to raise another 267 points to give you.. it may take a couple days to get 3 people to sign up with the EE but I will do my best. I am really sorry! I will try my best to do what I can to hook you up!
-DragonSun
Go away for a few days and you guys build a thread that probably has its own server.  Great going guys.

Don't worry about points for me - I didn't contribute anything

Bob Hamilton
Hey hey hey
Don't give me any of that... your gonna get some points like it or not! Don't make me turn this car around! .. Woah I'm becoming my dad... hehehe
You did offer some help, and inspire some ideas so credit goes to where it is deserved I am working on it, I have 109 points for you so far, and as soon as my friends reply to their authorization e-mail then I will have enough to post the question.