cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
jslocum
Level 3

Creating an agent tries to run my installation file again

I have a problem that has recently popped up and I need help resolving it. I have an application called Blackthorne. When my application is run, I make a call to check for new updates or messages. As soon as I try to create a new agent using the line

Dim pAgent As New DWUpdateServiceLib.Agent

... Microsoft Installer is invoked, and it is trying to install Blackthorne again. Its as if creating the agent is making a call to my InstallBlackthorne.exe file.

I have no idea what is going on. Does anyone have a clue?
0 Kudos
(11) Replies
jslocum
Level 3

Upon further examination, I find that if I double click the agent.exe file or USISPM.exe file, both will immediately start an installation of my application file. Anyone know what could be going on? I'm relatively new to all this.
0 Kudos
Sunny_s
Level 6

Let me try to explain what has most likely happened,

a) You have installed software 'Blackthorne' which installs certain files like agent.exe.
b) You have deleted some files like agent.exe without properly uninstalling the 'Blackthorne'.

c) When you try to access agent.exe through "Dim pAgent As New DWUpdateServiceLib.Agent", windows Installer (part of OS) tries to repair all files from MSI cache which were deleted by mistake.

d) As part of repair, it brings back all files deleted by you for 'Blackthorne'. Agent is not trying to call "Blackthrone" instead Windows installer is trying to repair the error.

Possible solutions:
a) If you have uninstalled the Blackthrone properly, this should not happen. Also try rebooting machine after uninstall too.

b) If you like to install Update Service agent, please download latest Update Service SDK from your Update Service publisher site. https://services.installshield.com.

Sunny
0 Kudos
jslocum
Level 3

Sunny,

Thanks for the info. It is helping me get closer. Let me explain what I have done.

I removed the Blackthorne application and then cleaned my registry with Registry Mechanic. This solves the problem. Calls to the update service no longer try to run my installation.

However, I have also found what causes this and need to figure out a solution.

I installed my Blackthorne 3.0.0 version. Then I modified my application to simply change the version number and rebuilt a 3.0.1 installation. When I run the installation, it tries to check the update service at the end, and reverts to the original problem. It tries to fix my Blackthorne MSI installation again.

Can you think of anything that could be in my install project that could cause this behaviour? I'm not deleting any files or adding anything. I just rebuilt the same project.

Thanks,

John
0 Kudos
rchand445
Level 5

If you are invoking the agent on a pc running under windows 2000 or xp, look in the event log for msi error messages. That may help you diagnose your problem.
0 Kudos
jslocum
Level 3

rchand445,

Thanks for the help. Here is what I have found out...

When my installation tries to run MSI in repair mode at the end of the install, it is placing the following message in the Event Viewer...

Detection of product '{4E0B1348-XXXX-XXXX-B43D-8E1216A80FBB}', feature 'AllFeatures' failed during request for component '{D2D7B4BF-6CCA-11D5-8B3F-00105A9846E9}'

The {4E0B1348-XXXX-XXXX-B43D-8E1216A80FBB} is the correct Package Code for my application, and the {D2D7B4BF-6CCA-11D5-8B3F-00105A9846E9} is the component ID for the agent.exe file.

So, it appears that my installation is having trouble finding agent.exe. It really hasn't changed since I built the major upgrade to 3.0.0.

Any ideas? I'm desparate :eek:
0 Kudos
rchand445
Level 5

Your install project includes the merge module ISUS.msm, which contains all of the files/registry items, etc to support the update service client, including agent.exe. Sounds like the merge module did not install correctly.

When you see this error, are you logged onto the machine as a restricted user? I know in the past the ISUS.msm merge module had issues with restricted user accounts.
0 Kudos
jslocum
Level 3

Here is some more info...

No, I am not logged in as a restricted user.

I tried the installs on 2 other machines and I get the same thing there too.

I previously had IS 10.5, so I uninstalled 10.5 then I uninstalled and reinstalled IS 11. Guess what... the upgrade from 3.0.0 to 3.0.1 worked once! After uninstalling my app and trying again by loading 3.0.0 and then upgrading to 3.0.1, I couldn't get it to work again.
0 Kudos
rchand445
Level 5

(edited an earlier version of this posting)

Ok,
The error would make more sense to me if you issued a major upgrade (for that, you need to change the product code guid of your install project). During a major upgrade the original installation components are uninstalled before the new versions are installed. The ISUS.msm merge module could possibly have installed incorrectly during this process. It doesn't sound like you did that, however...which means you performed a minor upgrade instead.

Anyway some components in ISUS.msm are (at least in the 3.0 versions) marked as permanent, so stuff is left behind when you uninstall. Do you have access to a "clean machine" where you never installed your app? If so, when you install your app for the first time, do you see this error?

I found that there were some issues with earlier versions of ISUS.msm 3.x merge modules.

Like Sunny suggested, get the latest version of the merge module by downloading the current Update Service SDK. I believe that they have released Update Service 4.5, so my guess is that the merge module contained in the current version of the SDK could be newer than the one that was issued with Installshield 11.0. Save off your current copy of ISUS.msm found in (I believe) C:\Program Files\InstallShield 10\Objects, then update the merge module with the latest one found in the Update Service 4.5 SDK. Rebuild your installation project, test by installing the a clean machine, then attempt an upgrade by installing to another machine which has an earlier version of your application. Try to isolate the error conditions.
0 Kudos
jslocum
Level 3

Problem solved!

In my install project, I had created 2 releases. One built an EXE and one an MSI. I did this so I would have the MSI that future versions could upgrade against.

I also had set "Generate Package Code" to Yes under "Releases". I assumed this was creating a package code each time I did a batch build, but it was creating a new Package code for each different build.

I was installing the EXE with one package code and later creating an installation that upgraded the MSI which had a different package code. I extracted the MSI from the EXE in the version I was trying to upgrade, and built my upgrade so it upgraded the extracted MSI, and it solved the problem.

I have no idea how/why this affected the install of the Update Service stuff, but right now I'm too happy to question it. I'm just so glad it is working now.

Thanks so much for your help.

John
0 Kudos
rchand445
Level 5

Well, based on that information:

The merge module is functioning ok, sounds like you got in trouble in the manor which you performed the upgrade. You might want to review this help article: Major Upgrade vs Minor Upgrade vs Small Update
0 Kudos
alex1968
Level 2

Hi,

On "clean machine"

When my application is running, I make a call to check for new updates
I am calling for the Agent
::CoCreateInstance(CLSID_Agent, _pUnkOuter, _dwClsContext, __uuidof(T), (void**)&m_pIDispatch);
Microsoft Installer is invoked, and it is trying to install the product again and again in some kind of loop.

I read you messages.
I tried to install the SDK and run again the Agent but the results are the same.

Did anybody hit this problem?
Please help me.


Thanks,
Alex.
0 Kudos