Solved

Visual studio installer problem

Posted on 2004-09-18
3
158 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

The Eight Noble Truths of Backup and Recovery

How can IT departments tackle the challenges of a Big Data world? This white paper provides a roadmap to success and helps companies ensure that all their data is safe and secure, no matter if it resides on-premise with physical or virtual machines or in the cloud.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Microsoft Dynamics Roles question 4 99
Copy a row 12 62
vb6 connector to mongodb 2 84
Modifying Conditional Format from VBA code 3 57
Article by: Leon
Software Metering within our group of companies has always been an afterthought until auditing of software and licensing became a pain point. Orchestrator and SCCM metering gave us the answer and it was an exciting process.
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 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…
The viewer will learn how to use a discrete random variable to simulate the return on an investment over a period of years, create a Monte Carlo simulation using the discrete random variable, and create a graph to represent the possible returns over…

810 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