【问题标题】:Trouble running setup package after Publishing in Visual Studio 2008在 Visual Studio 2008 中发布后无法运行安装程序包
【发布时间】:2010-03-18 16:00:44
【问题描述】:

我有一个我编写的小型 winform 应用程序,它在 IDE 中运行良好。它构建时没有错误或警告。它没有使用任何第三方控件。我在 Visual Studio 2008 中使用 C# 进行编码。当我构建 --> 发布应用程序时,一切似乎都运行良好。但是,当我尝试通过 setup.exe 文件安装应用程序时,我收到一条错误消息,提示“应用程序无法启动”。错误详情如下:

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)

我不知道还能做什么。我在这个应用程序中使用的唯一有点奇怪的东西是 SQL Compact Server。任何帮助将不胜感激。

谢谢,

安德鲁

【问题讨论】:

    标签: c# visual-studio-2008 deployment


    【解决方案1】:

    假设您使用 Visual Studio 安装项目来创建 setup.exe,请确保您选择了 SQL Server Compact 3.5 先决条件。

    1. 右键单击设置项目,然后单击属性;
    2. 单击先决条件按钮;

    忘记上面的,我误读了这个问题。您正在使用 ClickOnce 部署 Windows 窗体应用程序。要检查您是否具备 ClickOnce 部署的正确先决条件:

    1. 右键单击 windows 窗体项目并单击属性;
    2. 选择“发布”选项卡;
    3. 单击先决条件按钮并确认选择了 SQL Server Compact 3.5;

    【讨论】:

    • SQL Server Compact 3.5 在先决条件对话框中被选中。在 Application Files 对话框中,System.Data.SqlServerCe.dll 文件设置为“Include”和“Required”。我也尝试过“先决条件”和“先决条件(自动)”。他们都给了我同样的错误。
    • 您可以打开发布生成的 *.exe.manifest 文件并验证列出的所有依赖程序集在系统上是否可用。
    【解决方案2】:

    这看起来像是一个非常低级的 Windows 错误。运气好的话,Windows 事件日志中有一个面包屑,它会告诉您目标计算机上缺少什么 DLL。损坏的注册表也是可能的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-04
      • 2022-06-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多