tags:

views:

900

answers:

2

I have a program I deployed using click-once deployment and then installed on my machine. I tried running it, and it gave me the following error:

PLATFORM VERSION INFO
    Windows    : 5.1.2600.196608 (Win32NT)
    Common Language Runtime  : 2.0.50727.3053
    System.Deployment.dll   : 2.0.50727.3053 (netfxsp.050727-3000)
    mscorwks.dll    : 2.0.50727.3053 (netfxsp.050727-3000)
    dfdll.dll    : 2.0.50727.3053 (netfxsp.050727-3000)
    dfshim.dll    : 2.0.50727.3053 (netfxsp.050727-3000)

SOURCES
    Deployment url   : file:///C:/../MyProg.appref-ms%7C

ERROR SUMMARY
    Below is a summary of the errors, details of these errors are listed later in the log.
    * Activation of C:\..\MyProg.appref-ms| resulted in exception. Following failure messages were detected:
     + The referenced assembly is not installed on your system. (Exception from HRESULT: 0x800736B3)

COMPONENT STORE TRANSACTION FAILURE SUMMARY
    No transaction error was detected.

WARNINGS
    There were no warnings during this operation.

OPERATION PROGRESS STATUS
    * [3/30/09 2:45:10 PM] : Activation of C:\..\MyProg.appref-ms| has started.

ERROR DETAILS
    Following errors were detected during this operation.
    * [3/30/09 2:45:16 PM] System.Runtime.InteropServices.COMException
     - The referenced assembly is not installed on your system. (Exception from HRESULT: 0x800736B3)
     - Source: System.Deployment
     - Stack trace:
      at System.Deployment.Internal.Isolation.IStore.GetAssemblyInformation(UInt32 Flags, IDefinitionIdentity DefinitionIdentity, Guid& riid)
      at System.Deployment.Internal.Isolation.Store.GetAssemblyManifest(UInt32 Flags, IDefinitionIdentity DefinitionIdentity)
      at System.Deployment.Application.ComponentStore.GetAssemblyManifest(DefinitionIdentity asmId)
      at System.Deployment.Application.ComponentStore.GetSubscriptionStateInternal(DefinitionIdentity subId)
      at System.Deployment.Application.SubscriptionStore.GetSubscriptionStateInternal(SubscriptionState subState)
      at System.Deployment.Application.SubscriptionState.Validate()
      at System.Deployment.Application.SubscriptionState.get_IsInstalled()
      at System.Deployment.Application.ApplicationActivator.ProcessOrFollowShortcut(String shortcutFile, String& errorPageUrl, TempFile& deployFile)
      at System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl)
      at System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)

COMPONENT STORE TRANSACTION DETAILS
    No transaction information is available.

I cannot uninstall the program, but I can't see why (a dialog pops up for a second and disappears before I can read it) and I can't reinstall the application until I have uninstalled the old version.

Any ideas as to what the problem is, and what I can do about it?

EDIT

Previous versions were deployed using Visual Studio 2008. This version was deployed using Visual C# Express Edition. There is a dependency for the MySQL Connection package. I have not customized any of the settings when publishing, beyond the location of the directory and the version number (non-duplicate version number).

+2  A: 

Are you using interop with a COM object in your app? Are you sure that you are installing the COM object correctly on the client system? You can't just deploy the COM interop assembly, you have to deploy the COM object as well.

casperOne
The application used to work just fine. The only difference between previous deployments and this one is that I was using VS2008 before, and now I'm using Visual C# Express 2008. I am using a plugin for MySQL.
Elie
For a start, how do I go about uninstalling, as the Add/Remove Programs panel won't work. Is there another way to do this?
Elie
I think the COM part is a red-herring. That error happens every time there is a problem like this.
JasonRShaver
+3  A: 

Your application store my be messed up, you can try deleting this key (it will all remove any currently installed Click-Once applications):

HKEY_CURRENT_USER\Software\Classes\SOFTWARE\Microsoft\Windows\CurrentVersion\Deployment\SideBySide

As a note, if your application 'works' besides that error or on other machines, then this is likely your issue.

JasonRShaver
This problem only affects one user. Will this affect all Click-once deployments? How can I make sure that it only deletes my deployment?
Elie
Aye, then this is likely your issue. This fix would affect all deplyoments on that machine. I have not found a way to fix this without going to such a step yet; I don't have a development platform right now to try some stuff out =(
JasonRShaver
I just used this solution successfully. I would hate to do this if there was more than one app of this nature... but we only have one.
Godeke
I really hope they fix whatever bugs are causing this issue. This keeps ending up a persistent issue.
JasonRShaver