[高分高难度求解] 如何将程序集(dll)安装到全局程序集缓存(GAC)中 本帖最后由 macenjie 于 2010-03-09 07:46:06 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 貌似对程序集签个名应该就可以自动安装到GAC 客户端是没有visualstudio的,故没有gacutil.exe 你把这个和你的安装文件一起打包 客户端不就有了 通过调用 System.Environment.Version 静态属性来判断版本号注册表 客户端程序运行总要装.net framework的,安装的时候顺带安装进去。 gacutil.exe 文件的路径不就有了。做个dll注册的批处理文件。程序启动时,判断是否注册过,未注册就调用批处理文件注册。 用最新版本的windows installer做一个安装包就行了,它可以让你指定哪些assembly需要进gac。或者是在你的程序同目录下创建一个.gac文件,内容是要放进gac的assembly全路径,1行1条,程序执行时runtime会自动把这些dll安装进gac。 偶的意思是 你可以用一个独立的 gacutil.exe 拷贝到你的项目一指定路径下,一起将你的项目打包,你可以在安装程序时加上几句注册的代码就会自动执行注册了 dll了比如:string filepath=Application.StartupPath+"\\gautil.exe";string arguments="-u YourDllName";ProcessStartInfo prsInfo=new ProcessStartInfo(filepath,arguments);string result=Proess.Start(prsInfo).StandardOutput.ReadToEnd();arguments="-i\""+Application.StartupPath+"\\YourDllName.dll";prsInfo=new ProcessStartInfo(filepath,arguments);result=result+Proess.Start(prsInfo).StandardOutput.ReadToEnd(); 没有强命名的dll装不进去 怎么强命名啊??? 也遇到这样的问题,貌似有几种办法可以解决,制作批处理程序,还有就是把gacutil.exe 打包进程序。 各位大哥大姐大嫂大妹子们。。就是这段代码。。单独把sql语句拿出来查询没问题。。但是放到程序中就有问题。。问题在下面描述。。这里太短了。。 我的ActiveX发布问题!! winform, scrollbar 的问题 [求助]日期与星期的绑定? C#有没有实现IE的 Save As功能的办法? 关于多线程的问题,请小山,秋枫等热心高手帮助 ref Struct 类型时,传递参数出错,求大侠解决方法 asp.net + c#,一个cs文件一个dll,可以做到吗? 关于Treeview和TabControl控件的结合使用 二维数组求并集 如何理解operator关键字 c# 结构中如何定义数组
gacutil.exe 文件的路径不就有了。
做个dll注册的批处理文件。
程序启动时,判断是否注册过,未注册就调用批处理文件注册。
或者是在你的程序同目录下创建一个.gac文件,内容是要放进gac的assembly全路径,1行1条,程序执行时runtime会自动把这些dll安装进gac。
string arguments="-u YourDllName";
ProcessStartInfo prsInfo=new ProcessStartInfo(filepath,arguments);
string result=Proess.Start(prsInfo).StandardOutput.ReadToEnd();
arguments="-i\""+Application.StartupPath+"\\YourDllName.dll";
prsInfo=new ProcessStartInfo(filepath,arguments);
result=result+Proess.Start(prsInfo).StandardOutput.ReadToEnd();