解决方案 »

  1.   

    请参考MSDN关于应用程序必备
    http://msdn.microsoft.com/zh-cn/library/h4k032e1.aspx
      

  2.   

    看看这个帖子:
    How to install Mysql.Data connecetor 5.2 with the setup of application?
    http://social.msdn.microsoft.com/Forums/en-US/15e41b30-fbbf-4c96-a3b5-2d8133ef8db9/how-to-install-mysqldata-connecetor-52-with-the-setup-of-application?forum=csharplanguage
      

  3.   

    你好,我已经看了你发的帖子。帖中lz遇到跟我一样的问题
    大家给出的解决思路是在安装包中设置安装“先决条件”。问题在于在vs2010的先决条件中没有勾选mysql connector net的勾选框。
    帖中也没有给出明确的方案。
    继续求高手指导~
      

  4.   

    MSI的 话比较麻烦,好像不能在一个msi中调用另一个msi, 不幸的是mysql就是MSI.lz可以看看这篇文章:
    http://www.codeproject.com/Articles/33883/Invoke-another-MSI-from-an-MSI
    另外,我3楼链接说的也不是先决条件,而是custome action。custom Action中可以运行一个exe. 
    可以看看我的这个blog:
    http://www.cnblogs.com/findcaiyzh/archive/2009/02/04/1979553.html
      

  5.   


    我尝试着把 mysql connector net从MSI格式转化成了exe格式,手动安装一切正常。
    在安装包Custom Action>Install下面添加了转化后的"mysql-connector-net-6.8.3.exe",弹出如下报错:报错内容:Windows (R) Installer. V 5.0.7601.17514msiexec /Option <Required Parameter> [Optional Parameter]安装选项
    </package | /i> <Product.msi>
    安装或配置产品
    /a <Product.msi>
    管理安装 - 在网络上安装产品
    /j<u|m> <Product.msi> [/t <Transform List>] [/g <Language ID>]
    公布产品 - m 公布到所有用户,u 公布到当前用户
    </uninstall | /x> <Product.msi | ProductCode>
    卸载产品
    显示选项
    /quiet
    安静模式,无用户交互
    /passive
    无人参与模式 - 只显示进度栏
    /q[n|b|r|f]
    设置用户界面级别
    n - 无用户界面
    b - 基本界面
    r - 精简界面
    f - 完整界面(默认值)
    /help
    帮助信息
    重新启动选项
    restart
    安装完成后不重新启动
    /promptrestart
    必要时提示用户重新启动
    /forcerestart
    安装后始终重新启动计算机
    日志选项
    /l[i|w|e|a|r|u|c|m|o|p|v|x|+|!|*] <LogFile>
    i - 状态消息
    w - 非致命警告
    e - 所有错误消息
    a - 操作的启动
    r - 操作特定记录
    u - 用户请求
    c - 初始用户界面参数
    m - 内存不足或致命退出信息
    o - 磁盘空间不足消息
    p - 终端属性
    v - 详细输出
    x - 额外调试信息
    + - 扩展到现有日志文件
    ! - 每一行刷新到日志
    * - 记录所有信息,除了 v 和 x 选项
    /log <LogFile>
    与 /l* <LogFile> 相同
    更新选项
    /update <Update1.msp>[;Update2.msp]
    应用更新
    /uninstall <PatchCodeGuid>[;Update2.msp] /package <Product.msi | ProductCode>
    删除产品的更新
    修复选项
    /f[p|e|c|m|s|o|d|a|u|v] <Product.msi | ProductCode>
    修复产品
    p - 仅当文件丢失时
    o - 如果文件丢失或安装了更旧的版本(默认值)
    e - 如果文件丢失或安装了相同或更旧的版本
    d - 如果文件丢失或安装了不同版本
    c - 如果文件丢失或较验和与计算的值不匹配
    a - 强制重新安装所有文件
    u - 所有必要的用户特定注册表项(默认值)
    m - 所有必要的计算机特定注册表项(默认值)
    s - 所有现有的快捷键方式(默认值)
    v - 从源运行并重新缓存本地安装包
    设置公共属性
    [PROPERTY=PropertyValue]请查阅 Windows (R) Installer SDK 获得有关命令行语法的其他文档。版权所有 (C) Microsoft Corporation. 保留所有权利。
    此软件的部分内容系基于 Independent JPEG Group 的工作。
    推测解决方案:需要我填写Arguments内容,但是实在不知道该怎么填了。
    麻烦指点下
      

  6.   

    下文中的把MySql Connector Net引用设置为复制到本地,这个试过吗?How to automatically install MYSQL dot net connector while installing the windows form applicationstackoverflow.com/questions/12270190/how-to-automatically-install-mysql-dot-net-connector-while-installing-the-window
      

  7.   

    做过如下工作:安装mysql connector,把c盘所有mysql字样的dll文件都考到了测试程序下。然后卸载msql connector,还是报错。
    提示:2014/05/28 07:35:18 System.ArgumentException: 指定的存储区提供程序在配置中找不到,或者无效。 ---> System.ArgumentException: 找不到请求的 .Net Framework Data Provider。可能没有安装。
       在 System.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName)
       在 System.Data.EntityClient.EntityConnection.GetFactory(String providerString)
       --- 内部异常堆栈跟踪的结尾 ---
      

  8.   

    在安装包里手动加入运行mysql安装包的代码即可。
      

  9.   

    麻烦具体点?在哪个界面加?加什么代码?怎么个手动法?谢谢
    我们已经尝试过在 安装部署环境下的custom actions里面,清空Arguments参数。
    结果弹出异常。异常原因:安装包自身占用了Windows Installer,造成了阻塞。结果就mysql connector 安装包虽然打开了,还是无法安装
    Windows Installer不允许同时调用两个安装程序。
      

  10.   

    搞了半天也没搞出来个可行、完美的方案出来
    最终决定放弃EF,使用ADO.NET来连接数据库,解除对mysql connector NET的依赖。
    血淋淋的教训啊:"珍爱生命、远离微软"