2010-03-18 8 views
1

J'ai une petite application Winform que j'ai écrite qui fonctionne correctement dans l'EDI. Il construit sans erreurs ou avertissements. Il n'utilise aucun contrôle tiers. Je code en C# dans Visual Studio 2008. Quand je construis -> Publie l'application, tout semble fonctionner correctement. Cependant, quand je vais et tente d'installer l'application via le fichier setup.exe, je reçois un message d'erreur qui dit, "Application ne peut pas être démarré." Les détails d'erreur sont ci-dessous:Problème lors de l'exécution du package d'installation après la publication dans Visual Studio 2008

ERROR DETAILS 
Following errors were detected during this operation. 
* [3/18/2010 10:50:56 AM] 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.ComponentStore.CollectCrossGroupApplications(Uri codebaseUri, DefinitionIdentity deploymentIdentity, Boolean& identityGroupFound, Boolean& locationGroupFound, String& identityGroupProductName) 
     at System.Deployment.Application.SubscriptionStore.CommitApplication(SubscriptionState& subState, CommitApplicationParams commitParams) 
     at System.Deployment.Application.ApplicationActivator.InstallApplication(SubscriptionState& subState, ActivationDescription actDesc) 
     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) 

Je ne sais pas quoi d'autre à faire. La seule chose un peu étrange que j'ai utilisé dans cette application est le SQL Compact Server. Toute aide serait appréciée.

Merci,

Andrew

Répondre

1

En supposant que vous utilisez un projet d'installation de Visual Studio pour créer le fichier setup.exe, assurez-vous que vous avez sélectionné préalable SQL Server Compact 3.5. Cliquez avec le bouton droit sur le projet d'installation et cliquez sur Propriétés;

  1. Cliquez sur le bouton Prerequisites;

Oublier ce qui précède, j'ai mal lu la question. Vous utilisez ClickOnce pour déployer votre application Windows Forms. Pour vérifier que vous avez les conditions correctes pour un ClickOnce déployer:

  1. fenêtres bouton droit sur les formulaires projet et cliquez sur Propriétés;
  2. Sélectionnez l'onglet Publier;
  3. Cliquez sur le bouton Prerequisites et vérifiez que SQL Server Compact 3.5 est sélectionné.
+0

Dans la boîte de dialogue Fichiers d'application, le fichier System.Data.SqlServerCe.dll est défini sur "Inclure" et "Obligatoire". Je l'ai déjà essayé sur "Prerequisite" et "Prerequisite (Auto)". Tous me donnent la même erreur. –

+0

Vous pouvez ouvrir le fichier * .exe.manifest généré par la publication et vérifier que tous les assemblys dépendants répertoriés sont disponibles sur le système. –

1

Cela ressemble à une erreur Windows de très bas niveau. Avec un peu de chance, il y a un fil d'Ariane dans le journal des événements de Windows qui vous indique quelle DLL est manquante sur la machine cible. Un registre endommagé est également possible. SQL Server Compact 3.5 est sélectionné dans la boîte de dialogue Préalables.

Questions connexes