Solved

Visual studio installer problem

Posted on 2004-09-18
3
157 Views
Last Modified: 2011-09-20
Hi , iam using VSI to build a setup package for my visual basic programes, iam using ACCESS database in my application , the problem is i found that when i make setup for my prg. in another computer it gives me an activex error(i thing when it connect to the database), iam using DAO, i noticed that the setup programe put files like DAO350.dll and mfc40 in the application program, i tried to change the distination folder in the VSI but it was disabled , Is this the problem and how can i solve it , Thanx a lot
0
Comment
Question by:ashraf_t
3 Comments
 
LVL 3

Accepted Solution

by:
aParser earned 100 total points
ID: 12095329
In this, I'm assuming that the error is 429: ActiveX component can't create object.

The *quick* solution, if you really think it's database-related, is to download the lastest MDAC from Microsoft -- http://msdn.microsoft.com/data/default.aspx and look in the right margin for "MDAC Downloads" -- run it on the other computer, and see if that computer starts working.  Microsoft also provides MDAC redistributables that can be added to setup packages.  I've never done it, but it's possible.

The longer solution is convoluted, but I've used it several times.  First, you'll need to get (free) RegMon from SysInternals: http://www.sysinternals.com/ .

Next, start RegMon and then your application on the non-working PC.  (It's better if you can set up the filters in RegMon to ignore system processes.  You circumstances will differ from mine, so you'll just have to play with the filter, but it's very straight-forward.)

When you get the ActiveX error, switch to RegMon and stop capturing.  Don't clear the error dialog until after you have stopped RegMon.

Look back through RegMon and find where your program is querying the registry for a CLSID and getting a response of NOT FOUND.

Go back to YOUR computer -- where you're NOT getting the error -- and search the registry for that CLSID.  You should find it.  If you don't, it wasn't the right CLSID; go back to the non-working computer and look for the previous missing CLSID.

The details of that CLSID in YOUR registry should tell you which component is missing from the non-working computer.

A third solution is one I'm doing lately.  Every time I create a component, I have a string variable that I fill in with the component's ProgID.  (I never Dim As New.)  In my error trap, I check for error 429 and add that string to my error message.

Sub MySub()
    Dim o1 As New MyObject ' if you Dim variables this way, it won't work
    Dim o2 As MyObject
    Dim strProgID As String
    ...
    On Error GoTo Error_Trap
    ...
    strProgID = "MyObject" ' or I prefer "MyLibrary.MyObject"
    Set o2 = New MyObject
    ...
    Exit Sub
Error_Trap:
    If Err.Number = 429 Then
        MsgBox "Error 429 creating " & strProgID
    End If
    ...
0
 

Author Comment

by:ashraf_t
ID: 12095429
I will try these solution but why VSI fail in dicovering what the aplplication need , In Package and Deployment wizard that was very easy and can define which files must be taken in the cab file and it's right position ????
0
 
LVL 2

Expert Comment

by:x50Fade
ID: 12099708
I never encounter any problems with VSI.....Maybe you need to re-install....
0

Featured Post

Complete VMware vSphere® ESX(i) & Hyper-V Backup

Capture your entire system, including the host, with patented disk imaging integrated with VMware VADP / Microsoft VSS and RCT. RTOs is as low as 15 seconds with Acronis Active Restore™. You can enjoy unlimited P2V/V2V migrations from any source (even from a different hypervisor)

Question has a verified solution.

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

Background What I'm presenting in this article is the result of 2 conditions in my work area: We have a SQL Server production environment but no development or test environment; andWe have an MS Access front end using tables in SQL Server but we a…
You can of course define an array to hold data that is of a particular type like an array of Strings to hold customer names or an array of Doubles to hold customer sales, but what do you do if you want to coordinate that data? This article describes…
The view will learn how to download and install SIMTOOLS and FORMLIST into Excel, how to use SIMTOOLS to generate a Monte Carlo simulation of 30 sales calls, and how to calculate the conditional probability based on the results of the Monte Carlo …
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

910 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

20 Experts available now in Live!

Get 1:1 Help Now