Ho un programma distribuito utilizzando la distribuzione ClickOnce e quindi installato sulla mia macchina. Ho provato a farlo funzionare, e mi ha dato il seguente errore:Problemi di installazione della distribuzione C#
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.
Non riesco a disinstallare il programma, ma non riesco a capire perché (una finestra si apre per un secondo e scompare prima che io possa leggerlo), e non riesco a reinstallare l'applicazione fino a quando non ho disinstallato la versione precedente.
Quale potrebbe essere il problema e cosa posso fare al riguardo?
Le versioni precedenti sono state distribuite utilizzando Visual Studio 2008. Questa versione è stata distribuita utilizzando Visual C# Express Edition. Esiste una dipendenza per il pacchetto di connessione MySQL. Non ho personalizzato nessuna delle impostazioni durante la pubblicazione, oltre la posizione della directory e il numero di versione (numero di versione non duplicato).
Stai utilizzando l'interoperabilità con un oggetto COM nella tua app? Sei sicuro di installare correttamente l'oggetto COM sul sistema client? Non è possibile semplicemente distribuire l'assembly di interoperabilità COM, è necessario distribuire anche l'oggetto COM. – casperOne
L'applicazione funzionava perfettamente. L'unica differenza tra le distribuzioni precedenti e questa è che stavo usando VS2008 prima, e ora sto usando Visual C# Express 2008. Sto usando un plugin per MySQL. – Elie
Per iniziare, come procedere sulla disinstallazione, poiché il pannello Installazione applicazioni non funzionerà. c'è un altro modo per fare ciò? – Elie