; 脚本由 Inno Setup 脚本向导 生成! ; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档! #define MyAppName "IP解析插件" #define MyAppVersion "1.0" #define MyAppPublisher "你的剑就是我的剑" #define MyAppURL "http://www.xxxx.com/" #define MyAppExeName "MyProg.exe" [Setup] ; 注: AppId的值为单独标识该应用程序。 ; 不要为其他安装程序使用相同的AppId值。 ; (生成新的GUID,点击 工具|在IDE中生成GUID。) AppId={{700E39C5-6652-40B9-B731-E5F0441A0223} AppName={#MyAppName} AppVersion={#MyAppVersion} ;AppVerName={#MyAppName} {#MyAppVersion} AppPublisher={#MyAppPublisher} AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} CreateAppDir=no ;InfoBeforeFile=开始安装插件 ;InfoAfterFile=非常感谢您的使用 OutputDir=C:\Users\Administrator\Documents\addins OutputBaseFilename=setup SetupIconFile=E:\vba之internet控件\msxlsicon.ico Compression=lzma SolidCompression=yes [Languages] Name: "chinesesimp"; MessagesFile: "compiler:Default.isl" Name: "english"; MessagesFile: "compiler:Languages\English.isl" [Files] ;将控件复制到系统目录,并注册到系统,注意regserver选项 Source: "E:\vba之internet控件\MSINET.OCX"; DestDir: "{win}\system32"; Flags: onlyifdoesntexist regserver Source: "E:\vba之internet控件\MSWINSCK.OCX"; DestDir: "{win}\system32"; Flags: onlyifdoesntexist regserver ;将vb6cli目录下的所有文件暂时复制到c:\windows\temp目录下,安装结束后需要调用vb6c.exe程序, 调用完之后系统会自动删除之。 Source: "E:\vba之internet控件\vb6cli\*"; DestDir: "{tmp}"; Flags: ignoreversion recursesubdirs createallsubdirs ;注意下面的目标目录路径是由函数excelPath生成的 Source: "E:\vba之internet控件\MSWINSCK.OCX"; DestDir: "{code:excelPath}"; Flags: onlyifdoesntexist ; 注意: 不要在任何共享系统文件上使用“Flags: ignoreversion” [Registry] ;以下是在注册表中写入键值,以获得控件的使用许可 Root: HKCR; Subkey: "Licenses"; ValueType: "string"; ValueData:"Licensing: Copying the keys may be a violation of established copyrights." ;下面这个许可id是让没有安装vb6.0的机器获得vb6中控件的许可 Root: HKCR; Subkey: "Licenses\6000720D-F342-11D1-AF65-00A0C90DCA10"; ValueType: "string"; ValueData:"kefeflhlhlgenelerfleheietfmflelljeqf" Root: HKCR; Subkey: "Licenses\EAC52060-7A39-11D1-9C87-C81E5A000000"; ValueType: "string"; ValueData:"qefaankadbhakbtyfnqosezhvrdusdxrmbaa" Root: HKCR; Subkey: "Licenses\E32E2733-1BC5-11d0-B8C3-00A0C90DCA10"; ValueType: "string"; ValueData:"kmhfimlflmmfpffmsgfmhmimngtghmoflhsg" Root: HKCR; Subkey: "Licenses\CEDD4F80-B43C-11cf-837C-00AA00573EDE"; ValueType: "string"; ValueData:"gxwaezucfyqpwjgqbcmtsncuhwsnyhiohwxz" Root: HKCR; Subkey: "Licenses\D015B071-D2ED-11d0-A31A-00AA00688B10"; ValueType: "string"; ValueData:"gjdcfjpcmjicjcdcoihcechjlioiccechepd" Root: HKCR; Subkey: "Licenses\a8a9f020-b426-11cf-bf3b-00a0d10003fa"; ValueType: "string"; ValueData:"eesjgjnekjeeheijrfheiegepftigeljfepi" Root: HKCR; Subkey: "Licenses\AC0871D0-6ACC-11cf-8ADB-00AA00C00905"; ValueType: "string"; ValueData:"knjnpgognginknggsmnnhnjnumvmlngnrlrk" Root: HKCR; Subkey: "Licenses\B1692F60-23B0-11D0-8E95-00A0C90F26F8"; ValueType: "string"; ValueData:"mjjjccncgjijrcfjpdfjfcejpdkdkcgjojpd" Root: HKCR; Subkey: "Licenses\B1EFCCF0-6AC1-11cf-8ADB-00AA00C00905"; ValueType: "string"; ValueData:"qqkjvqpqmqjjpqjjvpqqkqmqvkypoqjquoun" Root: HKCR; Subkey: "Licenses\BC96F860-9928-11cf-8AFA-00AA00C00905"; ValueType: "string"; ValueData:"mmimfflflmqmlfffrlnmofhfkgrlmmfmqkqj" Root: HKCR; Subkey: "Licenses\9DF1A470-BA8E-11D0-849C-00A0C90DC8A9"; ValueType: "string"; ValueData:"cchcqjejhcgcqcfjpdfcdjkckiqikchcojpd" Root: HKCR; Subkey: "Licenses\73A4C9C1-D68D-11d0-98BF-00A0C90DC8D9"; ValueType: "string"; Root: HKCR; Subkey: "Licenses\73A4C9C1-D68D-11d0-98BF-00A0C90DC8D9\11.0"; ValueType: "string"; Root: HKCR; Subkey: "Licenses\73A4C9C1-D68D-11d0-98BF-00A0C90DC8D9\11.0\Retail"; ValueType: "string"; ValueData:"sbbcdcprktpjtapmmfdacmupasbhscddncgp" Root: HKCR; Subkey: "Licenses\74872840-703A-11d1-A3AF-00A0C90F26FA"; ValueType: "string"; ValueData:"mninuglgknogtgjnthmnggjgsmrmgniglish" Root: HKCR; Subkey: "Licenses\74872841-703A-11d1-A3AF-00A0C90F26FA"; ValueType: "string"; ValueData:"klglsejeilmereglrfkleeheqkpkelgejgqf" Root: HKCR; Subkey: "Licenses\78E1BDD1-9941-11cf-9756-00AA00C00908"; ValueType: "string"; ValueData:"yjrjvqkjlqqjnqkjvprqsjnjvkuknjpjtoun" Root: HKCR; Subkey: "Licenses\7C35CA30-D112-11cf-8E72-00A0C90F26F8"; ValueType: "string"; ValueData:"whmhmhohmhiorhkouimhihihwiwinhlosmsl" Root: HKCR; Subkey: "Licenses\80E80EF0-DBBE-11D0-BCE2-00A0C90DCA10"; ValueType: "string"; ValueData:"qijimitpmpnpxplpvjnikpkpqoxjmpkpoivj" Root: HKCR; Subkey: "Licenses\6FB38640-6AC7-11cf-8ADB-00AA00C00905"; ValueType: "string"; ValueData:"gdjkokgdldikhdddpjkkekgknesjikdkoioh" Root: HKCR; Subkey: "Licenses\556C75F1-EFBC-11CF-B9F3-00A0247033C4"; ValueType: "string"; ValueData:"xybiedobrqsprbijaegcbislrsiucfjdhisl" Root: HKCR; Subkey: "Licenses\2c49f800-c2dd-11cf-9ad6-0080c7e7b78d"; ValueType: "string"; ValueData:"mlrljgrlhltlngjlthrligklpkrhllglqlrk" Root: HKCR; Subkey: "Licenses\38911DA0-E448-11D0-84A3-00DD01104159"; ValueType: "string"; ValueData:"mcpckchcdchjcjcclidcgcgchdqdcjhcojpd" Root: HKCR; Subkey: "Licenses\4250E830-6AC2-11cf-8ADB-00AA00C00905"; ValueType: "string"; ValueData:"kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun" Root: HKCR; Subkey: "Licenses\43478d75-78e0-11cf-8e78-00a0d100038e"; ValueType: "string"; ValueData:"imshohohphlmnhimuinmphmmuiminhlmsmsl" Root: HKCR; Subkey: "Licenses\12B142A4-BD51-11d1-8C08-0000F8754DA1"; ValueType: "string"; ValueData:"aadhgafabafajhchnbchehfambfbbachmfmb" [Run] ;安装结束后运行temp目录中的vbc6.exe程序 Filename: "{tmp}\VBC6.EXE"; Description: "运行控件授权程序"; Flags: runhidden [UninstallRun] ;卸载程序后对控件进行反注册 Filename: "regsvr32"; Parameters:"/u MSINET.ocx" Filename: "regsvr32"; Parameters:"/u MSWINSCK.ocx" [Code] {定义pascal函数获得excel的安装路径,注意此函数名是自定义的,但是必须传入一个参数} function excelPath(Param:String):String; var version:String; temp:String; regPath:String; path:String; begin {获得Excel版本号 } if RegQueryStringValue(HKEY_LOCAL_MACHINE,'SOFTWARE\Classes\Excel.Application\CurVer','',version) Then begin //成功,此时version="Excel.Application.11" temp:=version; while Pos('.',temp)>0 do begin Delete(temp,1,Pos('.',temp));//分割之后temp=11 end regPath:='SOFTWARE\Microsoft\Office\'+temp+'.0\Common\InstallRoot' RegQueryStringValue(HKEY_LOCAL_MACHINE,regPath,'Path',path) end; //Log('ExcelPath:'+path); Result := path+'XLSTART'; end;