我用clickOnce发布一个用到DEVexpress的winform程序。
但是局域网内其它人去我发布的那个网站点击“安装”的时候,出现如下提示
无法安装或运行此应用程序,该应用程序要求首先在“全局程序集缓存(GAC)中安装程序集”
  DevExpress.Data.v11.2 版本 11.2.5.0。
 请与系统管理员联系。
网上有种说法 说是如果用DEVExpress的话 
需要将DEVExpressDLL加入系统 GAC 才可以使用GAC在系统的是么位置?  应该怎么加入呢????如何整合到部署中,我可不想单独的去给对方机器单独装DEVexpress驱动什么的 太费事了!!

解决方案 »

  1.   

    如果不用部署的方式 直接将debug下面的文件复制给别人电脑,却可以正常运行 怪哉怪哉 
    求解释!!!
      

  2.   

    关于如何编译dev的源码 分享一下给大家 大家看看 同时时间充裕的高手帮忙想想如何解决这个恶心的发布问题!!
    http://www.cnblogs.com/tdhao/archive/2011/11/04/2184660.html 
      

  3.   

    关于如何编译dev的源码 分享一下给大家 大家看看 同时时间充裕的高手帮忙想想如何解决这个恶心的发布问题!!
    http://www.cnblogs.com/tdhao/archive/2011/11/04/2184660.html  
     
      

  4.   

    我尝试一下源代码加进来试试吧 也许是公钥私钥导致的GAC吧 不懂
      

  5.   

    我尝试一下源代码加进来试试吧 也许是公钥私钥导致的GAC吧 不懂 
      

  6.   

    我在知道公钥密码和私钥文件的情况下 能否解除掉这些签名呢,变为普通没有签名的文件。
    我怀疑提示GAC中那个错误 也许和程序签名有关
      

  7.   

    本身那些源码如果想编译是非常难得 我是通过官方的一个工具进行编译的 在cmd中看到的内容中大致是
    程序集已成功添加到缓存中...是不是和这个有关系啊 
      

  8.   

    细算一下 CSDN的账号也就八百多个 我的老号前贰佰是空的 才想起来 囧!
      

  9.   

    在“C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin”那个v7.0A是我装了VS2010的版本号,如果你是低版本的,这里可能是其它,例如6.0之类的。
    该目录下面有2个文件,sn.exe和gacutil.exe,将其复制出来,然后和DEV相关DLL放在同一个目录下面(但不要是的项目路径)。然后编写一个bat文件,文件名随意,内容如下:
    echo off
    color 0a
    cd /d %~dp0.
    for %%c in (*.dll) do sn -Vr %%c
    for %%c in (*.dll) do gacutil /if  %%c
    for %%c in (*.dll) do sn -Vu %%c
    echo **************************************
    echo 安装完毕。
    echo on
    pause执行上面编写的bat脚本,即可完成DEV所有的dll安装到GAC缓存
      

  10.   

    无法安装或运行此应用程序,该应用程序要求首先在“全局程序集缓存(GAC)中安装程序集”
      DevExpress.Data.v11.2 版本 11.2.5.0。
     请与系统管理员联系。
    ----------------------------------------------------------
    通常都是在相关目录查找DLL,找不到的时候会去GAC中找。你看下是否相关DLL未在安装包内
      

  11.   

    你把DEVExpress的几个DLL放到程序的启动里面在看一下
      

  12.   


    你把dll放到 程序运行目录即可。一般都是开发人员才安装到gac,这样就不用添加到项目里去,其他人也能正确找到dll引用。
    你要添加到gac的话,这样就可以了,注意版本,
    @echo offset dxver=v8.1
    set configuration=Debugset GACPATH="%WinDir%\assembly\GAC_MSIL\"rem VS2008 paths
    set sn="%ProgramFiles%\Microsoft SDKs\Windows\v6.0A\Bin\sn.exe" 
    set gacutil="%ProgramFiles%\Microsoft SDKs\Windows\v6.0A\Bin\gacutil.exe"
    set msbuild="%WinDir%\Microsoft.NET\Framework\v3.5\MSBuild.exe"
    @echo offcall defines.batcd DevExpress.Dll
    %gacutil% -i DevExpress.BonusSkins.%DXVER%.dll
    %gacutil% -i DevExpress.Charts.%DXVER%.Core.dll
    。。
      

  13.   

    上面是批处理文件,把它拷到txt文件,保存更改后缀名 bat.
    注意vs的版本号,这个是vs2008的,你也可以改成vs2005,或者vs2010
      

  14.   

    顶,楼主解决好以后,总结一下解决的方法,让大家学习一下,我今天也遇到这个问题了,真是郁闷,最后才发现是这个dev控件的问题