Mam program wdrożony przy użyciu wdrożenia ClickOnce, a następnie zainstalowany na moim komputerze. Próbowałem uruchomić go, a on dał mi następujący błąd:Problemy z instalacją C# wdrożenia
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.
Nie mogę odinstalować program, ale nie mogę zrozumieć, dlaczego (okno dialogowe pojawia się na chwilę i znika, zanim można go odczytać) i nie mogę ponownie zainstalować aplikacji, dopóki nie odinstaluję starej wersji.
Co może być problemem i co mogę z tym zrobić?
Poprzednie wersje zostały wdrożone za pomocą programu Visual Studio 2008. Ta wersja została wdrożona za pomocą programu Visual C# Express Edition. Istnieje zależność dla pakietu połączenia MySQL. Nie dostosowałem żadnego z ustawień podczas publikowania, poza lokalizacją katalogu i numerem wersji (nie jest duplikatem numeru wersji).
Czy używasz współdziałania z obiektem COM w swojej aplikacji? Czy na pewno instalujesz obiekt COM poprawnie w systemie klienta? Nie można po prostu wdrożyć zespołu współdziałania COM, trzeba także wdrożyć obiekt COM. – casperOne
Aplikacja działa dobrze. Jedyna różnica między poprzednimi wdrożeniami a tym, że korzystałem wcześniej z VS2008, teraz używam Visual C# Express 2008. Używam wtyczki do MySQL. – Elie
Po pierwsze, jak mam odinstalować, ponieważ panel Dodaj/Usuń programy nie będzie działał. Czy jest inny sposób na zrobienie tego? – Elie