<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          InnoSetup打包詳解

          共 4539字,需瀏覽 10分鐘

           ·

          2021-01-27 07:15

          ▎關(guān)于打包的目的和原理


          VSTO插件開發(fā)完成后,為了更好的分發(fā)給用戶進(jìn)行安裝使用,需要進(jìn)行對插件打包的過程。



          打包的目的有兩個(gè):①對插件使用到的文件封裝成exe②修改注冊表,達(dá)到使插件自動加載的目的。




          其中第二條,打包的時(shí)候修改注冊表。針對不同的程序,修改的注冊表內(nèi)容不同。



          ?Excel:修改HKEY_CURRENT_USER,Software\Microsoft\Office\Excel\Addins路徑下的內(nèi)容。比如我的插件叫Exceltools,我就要對以下條目進(jìn)行相應(yīng)修改。

           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-D001:804\Applications\路徑下的內(nèi)容。


          比如我的插件叫CADTools,我就要對以下條目進(jìn)行相應(yīng)修改。

          RegWriteStringValue(HKEY_LOCAL_MACHINE,'SOFTWARE\Autodesk\AutoCAD\R19.1\ACAD-D001:804\Applications\CADTools','LOADER',ExpandConstant('{app}')+'\CADTools.dll');RegWriteStringValue(HKEY_LOCAL_MACHINE,'SOFTWARE\Autodesk\AutoCAD\R19.1\ACAD-D001:804\Applications\CADTools','DESCRIPTION', '使CADTools隨CAD啟動!');RegWriteDWordValue(HKEY_LOCAL_MACHINE,'SOFTWARE\Autodesk\AutoCAD\R19.1\ACAD-D001:804\Applications\CADTools','LOADCTRLS', 2);RegWriteDWordValue(HKEY_LOCAL_MACHINE,'SOFTWARE\Autodesk\AutoCAD\R19.1\ACAD-D001:804\Applications\CADTools','MANAGED', 1);


          其中R19.1\ACAD-D001:804代表的是AutoCad的版本。根據(jù)不同的版本修改相應(yīng)的注冊表路徑。


          序號版本號1版本號2描述
          1R15.01:8042002中文版
          2R15.01:4092002英文版
          3R16.0201:8042004中文版
          4R16.0201:4092004英文版
          5R16.1301:8042005中文版
          6R16.1301:4092005英文版
          7R16.24001:8042006中文版
          8R16.24001:4092006英文版
          9R17.05001:8042007中文版
          10R17.05001:4092007英文版
          11R17.16001:8042008中文版
          12R17.16001:4092008英文版
          13R17.27001:8042009中文版
          14R17.27001:4092009英文版
          15R18.08001:8042010中文版
          16R18.08001:4092010英文版
          17R18.19001:8042011中文版
          18R18.19001:4092011英文版
          19R18.2A001:8042012中文版
          20R18.2A001:4092012英文版
          21R18.08001:804AutoCAD 2010
          22R18.19001:804AutoCAD 2011
          23R18.2A001:804AutoCAD 2012
          24R19.0B001:804AutoCAD 2013
          25R19.1D001:804AutoCAD 2014
          26R20.0E001:804AutoCAD 2015




          e55c037b60bd862c26566780a360c916.webp



          ▎InnoSetup常見語句解析



          [Setup]常規(guī)參數(shù)

          #define MyAppName "CADTools"#define MyAppVerName "CADTools 1.0"[Setup]//插件名AppName={#MyAppName}//版本AppVerName={#MyAppVerName}//版本號AppVersion=1.0VersionInfoProductName=CADTools//默認(rèn)安裝路徑DefaultDirName= "d:\Program Files\CADTools"     DisableDirPage=noDisableProgramGroupPage=yesDefaultGroupName=CADToolsOutputDir=.//安裝包圖標(biāo)SetupIconFile=A.icoOutputBaseFilename=CADToolsWindowShowCaption=noDisableWelcomePage=no//控制面板卸載界面圖標(biāo)UninstallDisplayIcon= {app}\A.ico//安裝界面左側(cè)圖片WizardImageFile =Office2007.bmp//安裝界面右上角小logoWizardSmallImageFile=A.bmp//發(fā)布者名稱 AppPublisher=VBA說 //禁止64位系統(tǒng)寫入注冊表時(shí)的重定向ArchitecturesInstallIn64BitMode=x64 ia64



          安裝完成之后運(yùn)行指定程序

          [Run]Filename: "{app}\GAME.exe"; Flags: nowait skipifsilentnowait –?不等待完成就處理下一個(gè)條目。skipifsilent —?如果后臺運(yùn)行則不提示點(diǎn)擊“完成”。


          安裝包使用中文

          [Languages]Name: "chinesesimplified"; MessagesFile: "compiler:Languages\ChineseSimplified.isl"



          把安裝自動注冊dll文件

          dll文件放到安裝目錄下順便注冊[Files]Source: "..\x64\Release\sdUkey.dll"; DestDir: "{app}"; Flags: ignoreversion  restartreplace uninsrestartdelete regserver



          安裝過程靜默安裝第三方安裝包

          釋放安裝包到安裝目錄后執(zhí)行安裝相關(guān)函數(shù)[Files]Source: ".\ePass3003-SimpChinese.exe"; DestDir: "{tmp}"; AfterInstall: RunInstaller執(zhí)行的函數(shù)內(nèi)容[Code]procedure RunInstaller;var  ResultCode: Integer;begin  if not Exec(ExpandConstant(CurrentFileName), '/S', '', SW_SHOWNORMAL   ,    ewWaitUntilTerminated, ResultCode)  then    MsgBox('Other installer failed to run!' + #13#10 +      SysErrorMessage(ResultCode), mbError, MB_OK);end;?



          相關(guān)目錄說明


          目錄

          目錄說明

          {tmp}

          第三方安裝包安裝過程存放臨時(shí)文件的

          {app}

          用戶選擇的安裝目錄

          {sys}

          系統(tǒng)目錄system32或者sysWOW64目錄





          e55c037b60bd862c26566780a360c916.webp






          ▎InnoSetup打包作品欣賞



          作品一:自動檢測VSTO運(yùn)行環(huán)境


          VSTO插件需要兩個(gè)必備運(yùn)行環(huán)境:Microsoft .NET Framework 或者更高Visual Studio 2010 Tools for Office Runtime。兼容性問題Microsoft .NET Framework我們一般選擇4.0或者更高。



          思路:

          用注冊表判斷Framework4.0是否存在;

          用注冊表判斷Office版本,來間接判斷是否需要安裝Visual Studio 2010 Tools for Office Runtime(因?yàn)镋xcel2013或者更高版本,無需安裝該環(huán)境)。



          下面的插件可以自動檢測以上兩個(gè)環(huán)境,如果本機(jī)未安裝,則直接網(wǎng)上下載,引導(dǎo)用戶安裝。


          17069efbc471dd428a20a609c4d1c398.webp





          作品二:美化安裝界面(仿有道云筆記)


          辛苦搜集到的一個(gè)美化模板,仿有道云筆記安裝過程的??梢愿鶕?jù)自己的需求更改里面的圖片素材定制。


          c2a7db9c496013715ef599235786970c.webp




          作品三:美化安裝界面(仿QQ2013)


          仿QQ2013的安裝界面,同上一個(gè)例子,修改圖片素材即可。


          e42808ce19380caa8d8c702a5214fc8b.webp




          作品四:美化安裝界面(簡單美化)


          ?0e7434d09d1b1403e750f60f6f1a771f.webp

          ①開始安裝



          9e1388170268ba3e4b10f7c7a19c4c49.webp

          ②安裝過程



          df121f5f29eebb8674ff2e35c0387deb.webp

          ③安裝完成




          39948f537285e6a3da186010f26f2138.webp

          ④卸載界面





          知識無價(jià),時(shí)間無價(jià),需要以上InnoSetup打包模板的可私信作者付費(fèi)分享。







          推薦閱讀:(點(diǎn)擊下方標(biāo)題即可跳轉(zhuǎn))


          瀏覽 143
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  狠操在线| 精品操逼视频 | 国产精品一区二区性色AV | 欧美一级爱 | 影音先锋在线成人视频 |