将Winforms应用程序部署到客户端计算机应用程序启动时失败

时间:2012-05-05 19:30:26

标签: vb.net winforms deployment

这是从OP编辑的。这是一个VB .NET 4.0 WinForms应用程序。这个项目涉及一个mysql数据源。目标CPU设置为any。问题:在安装了VS 2010的任何计算机上运行此应用程序以及mysql连接器时,它运行完美。在原始系统上安装(即没有安装开发人员环境)但该机器安装了.net framework 4.0且没有安装连接器的mysql服务器时,应用程序立即崩溃。所以为了解决这个问题,我安装了mysql连接器MSI。这会立即修复客户端系统上的问题并运行。问题是,正如您在我的安装程序设置中看到的那样,MYSQL所需的2个DLL文件实际上包含在安装包中,因此不需要单独安装。那么为什么从图像中使用安装程序我需要安装mysql连接器?有任何想法吗?下面是程序使用的参考文献的屏幕截图,我相信我不需要使用除2个MYSQL DLL文件以外的应用程序部署任何这些DLL文件。那为什么会失败?下面的图片显示了项目引用以及applicationaiton文件夹中正在安装的安装程序文件。如图所示,2个mysql dll文件将被放入应用程序文件夹中。还有一个屏幕截图,显示应用程序文件夹中的每个dll的属性。

References Application Installation Files MySQL.Data.DLL Settings MySQL.Data.Entity.DLL Settings

1 个答案:

答案 0 :(得分:1)

你回答了自己的问题。

  

但是该机器安装了.net framework 4.0,并且没有安装连接器的mysql服务器 应用程序立即崩溃。

您不需要安装连接器msi包,但是您需要在应用程序的目录中包含这两个DLL文件。只要您有某种依赖关系,就需要在应用程序中部署它。

编辑我的评论引用的解决方案:

  

从您的更新中听起来您的版本不匹配   程序集,并将引用设置为Specific Version = True。   检查开发人员计算机上程序集的版本号   在输出目录中,检查要安装的版本   客户系统。 (你可以将鼠标悬停在DLL上阅读   ToolTip上的版本)。您可以尝试将“特定版本”设置为false   通过右键单击您的引用并选择属性,或简单地   确保部署相同版本的程序集。你的计划是   寻找其编译的版本

相关问题