回想起这几日搞控件的发布的痛苦经历,真的是往事不堪回首,好在现在经高人的指点下终于搞掂了,现在把安装过程写出来与大家一起分享,避免后人走与我一样的痛苦历程,要注意的是:绝对不能搬VS.net 2003的老路,我试过是绝对行不通的,我也曾经在这里浪费了不少时间.
第一步,在C:/Documents and Settings/user/My Documents/Visual Studio 2005下建一个"Controls"文件夹,在"Controls"文件夹再建一个文件夹,这个文件夹的名称按自己的需要而定,这个文件夹名称是决定在"工具箱"里面"选项卡"的名称,例如我的叫"企邦打印中间件"吧,完整的路径是:C:/Documents and Settings/user/My Documents/Visual Studio 2005\Controls\企邦打印中间件\,这后在这个路径下放上自己要注册到工具箱的控件DLL.
第二步:要看注册表HKEY_USERS/S-1-5-21-57989841-1708537768-839522115-1003/Software/Microsoft/VisualStudio/8.0/UserToolBoxControls下是否已经注册有你现在要注册的选项卡名,例如:"企邦打印中间件",如果有请删除,否则注册也不会成功.
第三步:运行:下面的语句
EnvDTE80.DTE2 myDTE2;
myDTE2 = (EnvDTE80.DTE2)Microsoft.VisualBasic.Interaction.CreateObject("VisualStudio.DTE.8.0", "");
if (myDTE2 != null)
{
System.IO.File.Copy(strpath, documents, true);
myDTE2.ExecuteCommand("Tools.InstallCommunityControls", string.Empty);
System.Runtime.InteropServices.Marshal.ReleaseComObject(myDTE2);
}
System.Runtime.InteropServices.Marshal.ReleaseComObject(myDTE2);这一句是十分重要的,另我百思不得其解的是,如果没有这一句,你在非安装程序里面运行是没有问题的,如果你在安装程序里做这个注册的工作,就完全不行,这也是浪费了我很多时间的地方,如果有人知道是什么原因的,也请告诉我一声啦.以上只是操作步骤,代码就自己写啦.如要交流请登陆:WWW.GDQB.NET