▎关于打包的目的和原理
VSTO插件开发完成后,为了更好的分发给用户进行安装使用,需要进行对插件打包的过程。
打包的目的有两个:①对插件使用到的文件封装成exe②修改注册表,达到使插件自动加载的目的。其中第二条,打包的时候修改注册表。针对不同的程序,修改的注册表内容不同。
?Excel:修改HKEY_CURRENT_USER,Software\Microsoft\Office\Excel\Addins路径下的内容。比如我的插件叫Exceltools,我就要对以下条目进行相应修改。
RegWriteStringValue(HKEY_CURRENT_USER,Software\KingSoft\Office\ET\AddinsWL,exceltools,)RegWriteStringValue(HKEY_CURRENT_USER,Software\Microsoft\Office\Excel\Addins\exceltools,Description,exceltools);RegWriteStringValue(HKEY_CURRENT_USER,Software\Microsoft\Office\Excel\Addins\exceltools,FriendlyName,exceltools);RegWriteDWordValue(HKEY_CURRENT_USER,Software\Microsoft\Office\Excel\Addins\exceltools,LoadBehavior,3);RegWriteStringValue(HKEY_CURRENT_USER,Software\Microsoft\Office\Excel\Addins\exceltools,Manifest,ExpandConstant({app})+\exceltools.vsto
vstolocal);
其中下面这一条是为了WPS成功加载插件
RegWriteStringValue(HKEY_CURRENT_USER,Software\KingSoft\Office\ET\AddinsWL,exceltools,)
如果是Word插件,将上面的Excel改成Word即可。PowerPoint插件,将上面的Excel改成PowerPoint即可。
?AutoCAD:修改HKEY_LOCAL_MACHINE,SOFTWARE\Autodesk\AutoCAD\R19.1\ACAD-D:\Applications\路径下的内容。
比如我的插件叫CADTools,我就要对以下条目进行相应修改。
RegWriteStringValue(HKEY_LOCAL_MACHINE,SOFTWARE\Autodesk\AutoCAD\R19.1\ACAD-D:\Applications\CADTools,LOADER,ExpandConstant({app})+\CADTools.dll);RegWriteStringValue(HKEY_LOCAL_MACHINE,SOFTWARE\Autodesk\AutoCAD\R19.1\ACAD-D:\Applications\CADTools,DESCRIPTION,使CADTools随CAD启动!);RegWriteDWordValue(HKEY_LOCAL_MACHINE,SOFTWARE\Autodesk\AutoCAD\R19.1\ACAD-D:\Applications\CADTools,LOADCTRLS,2);RegWriteDWordValue(HKEY_LOCAL_MACHINE,SOFTWARE\Autodesk\AutoCAD\R19.1\ACAD-D:\Applications\CADTools,MANAGED,1);
其中R19.1\ACAD-D:代表的是AutoCad的版本。根据不同的版本修改相应的注册表路径。
序号版本号1版本号2描述1R15.01:2002中文版2R15.01:英文版3R16.:2004中文版4R16.:英文版5R16.:2005中文版6R16.:英文版7R16.24:2006中文版8R16.24:英文版9R17.05:中文版10R17.05:英文版11R17.16:2008中文版12R17.16:英文版13R17.27:2009中文版14R17.27:英文版15R18.08:中文版16R18.08:英文版17R18.19:2011中文版18R18.19:英文版19R18.2A:2012中文版20R18.2A:英文版21R18.08:AutoCADR18.19:AutoCADR18.2A:AutoCADR19.0B:AutoCADR19.1D:AutoCADR20.0E:AutoCAD▎InnoSetup常见语句解析
[Setup]常规参数
#defineMyAppName"CADTools"#defineMyAppVerName"CADTools1.0"[Setup]//插件名AppName={#MyAppName}//版本AppVerName={#MyAppVerName}//版本号AppVersion=1.0VersionInfoProductName=CADTools//默认安装路径DefaultDirName="d:\ProgramFiles\CADTools"DisableDirPage=noDisableProgramGroupPage=yesDefaultGroupName=CADToolsOutputDir=.//安装包图标SetupIconFile=A.icoOutputBaseFilename=CADToolsWindowShowCaption=noDisableWel
最近更新
推荐文章