1[Setup] 2AppId={{5A2BC38A-406C-4A5B-BF45-6991F9A05325} 3AppName=PeaZip 4AppVerName=PeaZip 8.1.0 5AppVersion=8.1.0 6AppPublisher=Giorgio Tani 7AppPublisherURL=https://peazip.github.io 8AppSupportURL=https://peazip.github.io 9AppUpdatesURL=https://peazip.github.io 10DefaultDirName={pf}\PeaZip 11DisableDirPage=no 12DefaultGroupName=PeaZip 13DisableProgramGroupPage=yes 14LicenseFile=C:\input\peazip-8.1.0.WINDOWS\copying.txt 15OutputDir=C:\output\ 16OutputBaseFilename=peazip-8.1.0.WINDOWS 17SetupIconFile=C:\input\peazip-icon-green.ico 18Compression=lzma2/max 19SolidCompression=yes 20ChangesAssociations=yes 21 22[Languages] 23Name: "default"; MessagesFile: "compiler:Default.isl" 24 25[Tasks] 26Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; 27Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked 28 29[Files] 30Source: "C:\input\peazip-8.1.0.WINDOWS\peazip.exe"; DestDir: "{app}"; Flags: ignoreversion 31Source: "C:\input\peazip-8.1.0.WINDOWS\dragdropfilesdll.dll"; DestDir: "{app}"; Flags: ignoreversion 32Source: "C:\input\peazip-8.1.0.WINDOWS\res\*"; DestDir: "{app}\res"; Flags: ignoreversion recursesubdirs createallsubdirs 33Source: "C:\input\peazip-8.1.0.WINDOWS\SendTo.pea"; DestDir: "{app}"; Flags: ignoreversion 34Source: "C:\input\peazip-8.1.0.WINDOWS\copying.txt"; DestDir: "{app}"; Flags: ignoreversion 35Source: "C:\input\peazip-8.1.0.WINDOWS\readme_Win32.txt"; DestDir: "{app}"; Flags: ignoreversion 36Source: "C:\input\peazip-8.1.0.WINDOWS\peazip_help.pdf"; DestDir: "{app}"; Flags: ignoreversion 37; NOTE: Don't use "Flags: ignoreversion" on any shared system files 38 39[INI] 40Filename: "{app}\peazip.url"; Section: "InternetShortcut"; Key: "URL"; String: "https://peazip.github.io/" 41 42[Icons] 43Name: "{group}\PeaZip"; Filename: "{app}\peazip.exe" 44; Name: "{group}\Reset PeaZip"; Filename: "{app}\peazip.exe"; Parameters: "-peazipreset" 45Name: "{group}\{cm:ProgramOnTheWeb,PeaZip}"; Filename: "{app}\peazip.url" 46Name: "{group}\{cm:UninstallProgram,PeaZip}"; Filename: "{uninstallexe}" 47Name: "{userdesktop}\PeaZip"; Filename: "{app}\peazip.exe"; Tasks: desktopicon 48Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\PeaZip"; Filename: "{app}\peazip.exe"; Tasks: quicklaunchicon 49Name: "{group}\Add to archive"; Filename: "{app}\peazip.exe"; Parameters: "-add2archive"; IconFilename: "{app}\res\icons\peazip_seven.icl"; IconIndex: 2 50Name: "{group}\Extract..."; Filename: "{app}\peazip.exe"; Parameters: "-ext2main"; IconFilename: "{app}\res\icons\peazip_seven.icl"; IconIndex: 4 51Name: "{group}\Open as archive"; Filename: "{app}\peazip.exe"; Parameters: "-ext2openasarchive"; 52Name: "{app}\Add to archive"; Filename: "{app}\peazip.exe"; Parameters: "-add2archive"; IconFilename: "{app}\res\icons\peazip_seven.icl"; IconIndex: 2 53Name: "{app}\Extract..."; Filename: "{app}\peazip.exe"; Parameters: "-ext2main"; IconFilename: "{app}\res\icons\peazip_seven.icl"; IconIndex: 4 54Name: "{app}\Open as archive"; Filename: "{app}\peazip.exe"; Parameters: "-ext2openasarchive"; 55 56[Run] 57;Filename: "{app}\peazip.exe"; Description: "{cm:LaunchProgram,PeaZip}"; Flags: nowait postinstall skipifsilent 58;temporarily deactivated since this works correctly (using current user's profile) only for Vista or more recent systems 59 60[InstallDelete] 61Type: filesandordirs; Name: "{app}\res\lang" 62 63[UninstallDelete] 64Type: files; Name: "{app}\peazip.url" 65 66[CustomMessages] 67Associations_Caption=Associations 68Associations_Description=Set file associations 69Associations_Labelfull1_Caption0=Read/write supported types 70Associations_Labelread1_Caption0=Read supported types 71Associations_cb7z_Caption0=7Z, XZ 72Associations_cbbr_Caption0=Brotli 73Associations_cbzst_Caption0=Zstandard 74Associations_cbpaq8_Caption0=*PAQ 75Associations_cbquad_Caption0=QUAD/BALZ/BCM 76Associations_cbtar_Caption0=TAR, BZ2, GZ 77Associations_cbzip_Caption0=ZIP, ZIPX 78Associations_cbfullnone_Caption0=None of the above group (override selection) 79Associations_cbarj_Caption0=ARJ 80Associations_cbcab_Caption0=CAB 81Associations_cblinux_Caption0=Linux (DEB, RPM, PET/PUP, SLP) 82Associations_cbiso_Caption0=ISO, UDF 83Associations_cblha_Caption0=LHA 84Associations_cblzh_Caption0=LZH 85Associations_cbrar_Caption0=RAR 86Associations_cbcpio_Caption0=CPIO, Z 87Associations_cbreadnone_Caption0=None of the above group (override selection) 88Associations_cbace_Caption0=ACE 89Associations_cbarc_Caption0=ARC, WRC 90Associations_cbMac_Caption0=Mac (DMG/HFS) 91context_Caption=Context menu 92context_Description=Create application's entries in system's context menu 93context_cbcontextext_Caption0=Extract... 94context_cbcontextext2here_Caption0=Extract here 95context_cbcontextsplit_Caption0=Split file 96context_cbcontextconvert_Caption0=Convert 97context_cbcontextnone_Caption0=No context menu entry (override selection) 98context_cbcontextext2folder_Caption0=Extract here (in new folder) 99context_cbcontextext2smart_Caption0=Extract here (smart new folder) 100context_cbcontext7zs_Caption0=Add to 7Z 101context_cbcontextzips_Caption0=Add to ZIP 102context_cbcontexttest_Caption0=Test archive(s) 103context_cbcontextwipe_Caption0=Secure delete 104context_cbcontextadd2archive_Caption0=Add to archive 105context_cbcontextadd2archiveseparate_Caption0=Add to separate archive(s) 106context_cbcontextsfx_Caption0=Add to self extracting 107context_CheckBox3f_Caption0=Add to 7Z, fastest 108context_CheckBox3_Caption0=Add to 7Z, ultra 109context_cbcontext7zsenc_Caption0=Encrypt (7Z) 110context_CheckBox4_Caption0=Add to ZIP, fastest 111context_cbcascaded_Caption0=Cascaded menu 112context_cbcontextzipmail_Caption0=Zip and mail 113context_cbcontextbrowse_Caption0=Browse path with PeaZip 114context_cbcontextcrc_Caption0=CRC, hash and file tools 115Links_Caption=SendTo 116Links_Description=Create application's entries in SendTo menu 117Links_cbfunext2here_Caption0=Extract here 118Links_cbfun7z_Caption0=Add to 7Z 119Links_cbfunzip_Caption0=Add to ZIP 120Links_cbfunsfx_Caption0=Add to self extracting 121Links_cbfunsplit_Caption0=Split file 122Links_cbfunnone_Caption0=No SendTo menu entry (override selection) 123Links_cbfunext2folder_Caption0=Extract here (in new folder) 124Links_cbfun7zs_Caption0=Add to separate 7Z 125Links_cbfunzips_Caption0=Add to separate ZIP 126Links_cbfunencrypt_Caption0=Encrypt (PEA) 127Links_cbfuntest_Caption0=Test archive(s) 128Links_cbfunzipmail_Caption0=Add to ZIP and mail 129Links_cbfun7zmail_Caption0=Add to 7Z and mail 130Links_cbfunsfxmail_Caption0=Add to sfx and mail 131Links_cbfunwipe_Caption0=Secure delete 132Links_cbfunext2to_Caption0=Extract... 133Links_CheckBoxbrowsepath_Caption0=Browse path with PeaZip 134Links_CheckBoxcommand_Caption0=Open command prompt here 135Links_cbfunadd_Caption0=Add to archive 136Links_cbfunconvert_Caption0=Convert 137Links_cbfunopen_Caption0=Open as archive 138install_Caption=Install PeaZip 139install_Description=Installation options 140install_Labelinstall1_Caption0=Default installation, context menu and SendTo menu entries 141install_Labelinstall1_Caption2=Configure file associations 142install_RadioButtoninstall1_Caption0=Standard installation 143install_RadioButtoninstall2_Caption0=Custom installation 144install_RadioButtoninstall3_Caption0=No system integration 145install_RadioButtoninstall4_Caption0=Update only, keep current system integration 146install_cbinstallcu_Caption0=Install for current user only 147install_cbreset_Caption0=Reset current configuration 148install_lupdate_Caption0=Check for updates 149install_l1_Caption0=| 150install_lhelp_Caption0=Help 151install_l2_Caption0=| 152install_lfaq_Caption0=FAQ 153install_LabelAppLang_Caption0=Application language 154 155[Code] 156var 157 MyProgChecked: Boolean; 158 MyProgCheckResult: Boolean; 159 FinishedInstall: Boolean; 160 Labelfull1: TLabel; 161 Bevel1: TBevel; 162 Labelread1: TLabel; 163 Bevel2: TBevel; 164 cb7z: TCheckBox; 165 cbbr: TCheckBox; 166 cbzst: TCheckBox; 167 cbpaq8: TCheckBox; 168 cbquad: TCheckBox; 169 cbtar: TCheckBox; 170 cbzip: TCheckBox; 171 cbfullnone: TCheckBox; 172 cbarj: TCheckBox; 173 cbcab: TCheckBox; 174 cblinux: TCheckBox; 175 cbiso: TCheckBox; 176 cblha: TCheckBox; 177 cblzh: TCheckBox; 178 cbrar: TCheckBox; 179 cbcpio: TCheckBox; 180 cbreadnone: TCheckBox; 181 cbace: TCheckBox; 182 cbarc: TCheckBox; 183 cbMac: TCheckBox; 184 Bevel1context: TBevel; 185 cbcontextext: TCheckBox; 186 cbcontextext2here: TCheckBox; 187 cbcontextsplit: TCheckBox; 188 cbcontextconvert: TCheckBox; 189 cbcontextnone: TCheckBox; 190 cbcontextext2folder: TCheckBox; 191 cbcontextext2smart: TCheckBox; 192 cbcontext7zs: TCheckBox; 193 cbcontextzips: TCheckBox; 194 cbcontexttest: TCheckBox; 195 cbcontextwipe: TCheckBox; 196 cbcontextadd2archive: TCheckBox; 197 cbcontextadd2archiveseparate: TCheckBox; 198 cbcontextsfx: TCheckBox; 199 CheckBox3f: TCheckBox; 200 CheckBox3: TCheckBox; 201 cbcontext7zsenc: TCheckBox; 202 CheckBox4: TCheckBox; 203 cbcascaded: TCheckBox; 204 cbcontextzipmail: TCheckBox; 205 cbcontextbrowse: TCheckBox; 206 cbcontextcrc: TCheckBox; 207 Bevel1fun: TBevel; 208 cbfunext2here: TCheckBox; 209 cbfun7z: TCheckBox; 210 cbfunzip: TCheckBox; 211 cbfunsfx: TCheckBox; 212 cbfunsplit: TCheckBox; 213 cbfunnone: TCheckBox; 214 cbfunext2folder: TCheckBox; 215 cbfun7zs: TCheckBox; 216 cbfunzips: TCheckBox; 217 cbfunencrypt: TCheckBox; 218 cbfuntest: TCheckBox; 219 cbfunzipmail: TCheckBox; 220 cbfun7zmail: TCheckBox; 221 cbfunsfxmail: TCheckBox; 222 cbfunwipe: TCheckBox; 223 cbfunext2to: TCheckBox; 224 CheckBoxbrowsepath: TCheckBox; 225 CheckBoxcommand: TCheckBox; 226 cbfunadd: TCheckBox; 227 cbfunconvert: TCheckBox; 228 cbfunopen: TCheckBox; 229 Labelinstall1: TLabel; 230 RadioButtoninstall1: TRadioButton; 231 RadioButtoninstall2: TRadioButton; 232 RadioButtoninstall3: TRadioButton; 233 RadioButtoninstall4: TRadioButton; 234 LabelAppLang: TLabel; 235 ComboBox1: TComboBox; 236 cbinstallcu: TCheckbox; 237 cbreset: TCheckbox; 238 lupdate: TLabel; 239 l1: TLabel; 240 lhelp: TLabel; 241 l2: TLabel; 242 lfaq: TLabel; 243 sLMCU:integer; 244 245{ install_Activate } 246 247procedure install_Activate(Page: TWizardPage); 248begin 249 // enter code here... 250end; 251 252{ install_ShouldSkipPage } 253 254function install_ShouldSkipPage(Page: TWizardPage): Boolean; 255begin 256 Result := False; 257end; 258 259{ install_BackButtonClick } 260 261function install_BackButtonClick(Page: TWizardPage): Boolean; 262begin 263 Result := True; 264end; 265 266{ install_NextkButtonClick } 267 268function install_NextButtonClick(Page: TWizardPage): Boolean; 269begin 270 Result := True; 271end; 272 273{ install_CancelButtonClick } 274 275procedure install_CancelButtonClick(Page: TWizardPage; var Cancel, Confirm: Boolean); 276begin 277 // enter code here... 278end; 279 280procedure install_lupdateClick(Sender: TObject); 281var 282 ErrorCode: Integer; 283begin 284 ShellExecAsOriginalUser('open', 'https://peazip.github.io/', '', '', SW_SHOW, ewNoWait, ErrorCode); 285end; 286 287procedure install_lhelpClick(Sender: TObject); 288var 289 ErrorCode: Integer; 290begin 291 ShellExecAsOriginalUser('open', 'https://peazip.github.io/peazip-help.html', '', '', SW_SHOW, ewNoWait, ErrorCode) 292end; 293 294procedure install_lfaqClick(Sender: TObject); 295var 296 ErrorCode: Integer; 297begin 298 ShellExecAsOriginalUser('open', 'https://peazip.github.io/peazip-help-faq.html', '', '', SW_SHOW, ewNoWait, ErrorCode) 299end; 300 301function install_CreatePage(PreviousPageId: Integer): Integer; 302var 303 Page: TWizardPage; 304 i:integer; 305 l:string; 306begin 307 Page := CreateCustomPage( 308 PreviousPageId, 309 ExpandConstant('{cm:install_Caption}'), 310 ExpandConstant('{cm:install_Description}') 311 ); 312 313{ Labelinstall1 } 314 Labelinstall1 := TLabel.Create(Page); 315 with Labelinstall1 do 316 begin 317 Parent := Page.Surface; 318 Caption := 319 ExpandConstant('{cm:install_Labelinstall1_Caption0}') + #13 + 320 ExpandConstant('{cm:install_Labelinstall1_Caption2}'); 321 Left := ScaleX(32); 322 Top := ScaleY(26); 323 Width := ScaleX(363); 324 Height := ScaleY(64); 325 end; 326 327 { RadioButtoninstall1 } 328 RadioButtoninstall1 := TRadioButton.Create(Page); 329 with RadioButtoninstall1 do 330 begin 331 Parent := Page.Surface; 332 Caption := ExpandConstant('{cm:install_RadioButtoninstall1_Caption0}'); 333 Left := ScaleX(16); 334 Top := ScaleY(0); 335 Width := ScaleX(385); 336 Height := ScaleY(25); 337 Checked := True; 338 TabOrder := 0; 339 TabStop := True; 340 end; 341 342 { RadioButtoninstall2 } 343 RadioButtoninstall2 := TRadioButton.Create(Page); 344 with RadioButtoninstall2 do 345 begin 346 Parent := Page.Surface; 347 Caption := ExpandConstant('{cm:install_RadioButtoninstall2_Caption0}'); 348 Left := ScaleX(16); 349 Top := ScaleY(60); 350 Width := ScaleX(385); 351 Height := ScaleY(25); 352 TabOrder := 1; 353 TabStop := True; 354 end; 355 356 { RadioButtoninstall3 } 357 RadioButtoninstall3 := TRadioButton.Create(Page); 358 with RadioButtoninstall3 do 359 begin 360 Parent := Page.Surface; 361 Caption := ExpandConstant('{cm:install_RadioButtoninstall3_Caption0}'); 362 Left := ScaleX(16); 363 Top := ScaleY(80); 364 Width := ScaleX(385); 365 Height := ScaleY(25); 366 TabOrder := 2; 367 TabStop := True; 368 end; 369 370 { RadioButtoninstall4 } 371 RadioButtoninstall4 := TRadioButton.Create(Page); 372 with RadioButtoninstall4 do 373 begin 374 Parent := Page.Surface; 375 Caption := ExpandConstant('{cm:install_RadioButtoninstall4_Caption0}'); 376 Left := ScaleX(16); 377 Top := ScaleY(100); 378 Width := ScaleX(385); 379 Height := ScaleY(25); 380 TabOrder := 3; 381 TabStop := True; 382 end; 383 384 { LabelAppLang } 385 LabelAppLang := TLabel.Create(Page); 386 with LabelAppLang do 387 begin 388 Parent := Page.Surface; 389 Caption := ExpandConstant('{cm:install_LabelAppLang_Caption0}'); 390 Left := ScaleX(16); 391 Top := ScaleY(143); 392 Width := ScaleX(99); 393 Height := ScaleY(13); 394 end; 395 if (GetWindowsVersion < $06000000) then LabelAppLang.visible:=false; 396 397 { ComboBox1 } 398 ComboBox1 := TComboBox.Create(Page); 399 with ComboBox1 do 400 begin 401 Parent := Page.Surface; 402 Left := ScaleX(128); 403 Top := ScaleY(140); 404 Width := ScaleX(240); 405 Height := ScaleY(21); 406 TabOrder := 4; 407 Style := csDropDownList; 408 Text := 'EN - English'; 409 Items.Add('AR - Arabic'); 410 Items.Add('BG - Bulgarian'); 411 Items.Add('BY-CR - Belarusian (Cyrillic)'); 412 Items.Add('BY-LT - Belarusian (Latin)'); 413 Items.Add('CHS - Chinese Simplified'); 414 Items.Add('CHT - Chinese Traditional'); 415 Items.Add('CZ - Czech'); 416 Items.Add('DE-UML - German'); 417 Items.Add('DE-UML-ALT - German (alternative)'); 418 Items.Add('Default / Do not change current language'); 419 Items.Add('EN - English'); 420 Items.Add('EN-GB - British English'); 421 Items.Add('ES-ES - Spanish'); 422 Items.Add('ES-LA - Spanish (Latin-America)'); 423 Items.Add('EU - Basque'); 424 Items.Add('FI - Finnish'); 425 Items.Add('FR - French'); 426 Items.Add('GL - Galician'); 427 Items.Add('GR - Greek'); 428 Items.Add('HU - Hungarian'); 429 Items.Add('ID - Bahasa Indonesia'); 430 Items.Add('IT - Italian'); 431 Items.Add('JA - Japanese'); 432 Items.Add('KO - Korean'); 433 Items.Add('NL - Dutch'); 434 Items.Add('NO - Norwegian'); 435 Items.Add('PL - Polish'); 436 Items.Add('PT-BR - Portuguese (Brazil)'); 437 Items.Add('PT-PT - Portuguese (Portugal)'); 438 Items.Add('RO - Romanian'); 439 Items.Add('RU - Russian'); 440 Items.Add('SI - Sinhala'); 441 Items.Add('SK - Slovak'); 442 Items.Add('SL - Slovenian'); 443 Items.Add('SV - Swedish'); 444 Items.Add('TJ - Tajik'); 445 Items.Add('TR - Turkish'); 446 Items.Add('UK - Ukrainian'); 447 Items.Add('UZ - Uzbek'); 448 Items.Add('VN - Vietnamese'); 449 ItemIndex := 9; 450 end; 451 if (GetWindowsVersion < $06000000) then ComboBox1.visible:=false; 452 453 try 454 l:=uppercase(paramstr(paramcount)); 455 if length(l)>0 then if l[1]='/' then l:=copy(l,2,length(l)-1); 456 case l of 457 'AR': i:=0; 458 'BG': i:=1; 459 'BY-CR','BY': i:=2; 460 'BY-LT': i:=3; 461 'CHS','CH': i:=4; 462 'CHT': i:=5; 463 'CZ': i:=6; 464 'DE-UML','DE': i:=7; 465 'DEFAULT': i:=9; 466 'EN': i:=10; 467 'EN-GB': i:=11; 468 'ES-ES','ES': i:=12; 469 'ES-LA': i:=13; 470 'EU': i:=14; 471 'FI': i:=15; 472 'FR': i:=16; 473 'GL': i:=17; 474 'GR': i:=18; 475 'HU': i:=19; 476 'ID': i:=20; 477 'IT': i:=21; 478 'JA': i:=22; 479 'KO': i:=23; 480 'NL': i:=24; 481 'NO': i:=25; 482 'PL': i:=26; 483 'PT-BR': i:=27; 484 'PT-PT','PT': i:=28; 485 'RO': i:=29; 486 'RU': i:=30; 487 'SI': i:=31; 488 'SK': i:=32; 489 'SL': i:=33; 490 'SV': i:=34; 491 'TJ': i:=35; 492 'TR': i:=36; 493 'UK': i:=37; 494 'UZ': i:=38; 495 'VN': i:=39; 496 else i:=9; 497 end; 498 if i>=0 then 499 combobox1.itemindex:=i; 500 except 501 end; 502 503 { cbinstallcu } 504 cbinstallcu := Tcheckbox.Create(Page); 505 with cbinstallcu do 506 begin 507 Parent := Page.Surface; 508 Caption := ExpandConstant('{cm:install_cbinstallcu_Caption0}'); 509 Left := ScaleX(16); 510 Top := ScaleY(170); 511 Width := ScaleX(160); 512 Height := ScaleY(25); 513 end; 514 515 { cbreset } 516 cbreset := Tcheckbox.Create(Page); 517 with cbreset do 518 begin 519 Parent := Page.Surface; 520 Caption := ExpandConstant('{cm:install_cbreset_Caption0}'); 521 Left := ScaleX(16); 522 Top := ScaleY(203); 523 Width := ScaleX(160); 524 Height := ScaleY(25); 525 end; 526 if (GetWindowsVersion < $06000000) then cbreset.visible:=false; 527 528 { lupdate } 529 lupdate := TLabel.Create(Page); 530 with lupdate do 531 begin 532 Parent := Page.Surface; 533 Caption := ExpandConstant('{cm:install_lupdate_Caption0}'); 534 Left := ScaleX(220); 535 Top := ScaleY(208); 536 Width := ScaleX(88); 537 Height := ScaleY(13); 538 Cursor := crHand; 539 Font.Color := 16711680; 540 Font.Height := ScaleY(-11); 541 Font.Name := 'Tahoma'; 542 Font.Style := [fsUnderline]; 543 OnClick := @install_lupdateClick; 544 end; 545 546 { l1 } 547 l1 := TLabel.Create(Page); 548 with l1 do 549 begin 550 Parent := Page.Surface; 551 Caption := ExpandConstant('{cm:install_l1_Caption0}'); 552 Left := ScaleX(316); 553 Top := ScaleY(208); 554 Width := ScaleX(4); 555 Height := ScaleY(13); 556 Font.Height := ScaleY(-11); 557 Font.Name := 'Tahoma'; 558 end; 559 560 { lhelp } 561 lhelp := TLabel.Create(Page); 562 with lhelp do 563 begin 564 Parent := Page.Surface; 565 Caption := ExpandConstant('{cm:install_lhelp_Caption0}'); 566 Left := ScaleX(328); 567 Top := ScaleY(208); 568 Width := ScaleX(21); 569 Height := ScaleY(13); 570 Cursor := crHand; 571 Font.Color := 16711680; 572 Font.Height := ScaleY(-11); 573 Font.Name := 'Tahoma'; 574 Font.Style := [fsUnderline]; 575 OnClick := @install_lhelpClick; 576 end; 577 578 { l2 } 579 l2 := TLabel.Create(Page); 580 with l2 do 581 begin 582 Parent := Page.Surface; 583 Caption := ExpandConstant('{cm:install_l2_Caption0}'); 584 Left := ScaleX(357); 585 Top := ScaleY(208); 586 Width := ScaleX(4); 587 Height := ScaleY(13); 588 Font.Height := ScaleY(-11); 589 Font.Name := 'Tahoma'; 590 end; 591 592 { lfaq } 593 lfaq := TLabel.Create(Page); 594 with lfaq do 595 begin 596 Parent := Page.Surface; 597 Caption := ExpandConstant('{cm:install_lfaq_Caption0}'); 598 Left := ScaleX(369); 599 Top := ScaleY(208); 600 Width := ScaleX(21); 601 Height := ScaleY(13); 602 Cursor := crHand; 603 Font.Color := 16711680; 604 Font.Height := ScaleY(-11); 605 Font.Name := 'Tahoma'; 606 Font.Style := [fsUnderline]; 607 OnClick := @install_lfaqClick; 608 end; 609 610 with Page do 611 begin 612 OnActivate := @install_Activate; 613 OnShouldSkipPage := @install_ShouldSkipPage; 614 OnBackButtonClick := @install_BackButtonClick; 615 OnNextButtonClick := @install_NextButtonClick; 616 OnCancelButtonClick := @install_CancelButtonClick; 617 end; 618 619 Result := Page.ID; 620end; 621 622 { Associations_Activate } 623 624 procedure Associations_Activate(Page: TWizardPage); 625 begin 626 // enter code here... 627 end; 628 629 { Associations_ShouldSkipPage } 630 631 function Associations_ShouldSkipPage(Page: TWizardPage): Boolean; 632 begin 633 if (radiobuttoninstall3.Checked = True) or (radiobuttoninstall4.Checked = True) then Result := True 634 else Result := False; 635 end; 636 637 { Associations_BackButtonClick } 638 639 function Associations_BackButtonClick(Page: TWizardPage): Boolean; 640 begin 641 Result := True; 642 end; 643 644 { Associations_NextkButtonClick } 645 646 function Associations_NextButtonClick(Page: TWizardPage): Boolean; 647 begin 648 Result := True; 649 end; 650 651 { Associations_CancelButtonClick } 652 653 procedure Associations_CancelButtonClick(Page: TWizardPage; var Cancel, Confirm: Boolean); 654 begin 655 // enter code here... 656 end; 657 658 { Associations_CreatePage } 659 660 function Associations_CreatePage(PreviousPageId: Integer): Integer; 661 var 662 Page: TWizardPage; 663 begin 664 Page := CreateCustomPage( 665 PreviousPageId, 666 ExpandConstant('{cm:Associations_Caption}'), 667 ExpandConstant('{cm:Associations_Description}') 668 ); 669 670{ Labelfull1 } 671Labelfull1 := TLabel.Create(Page); 672with Labelfull1 do 673begin 674 Parent := Page.Surface; 675 Caption := ExpandConstant('{cm:Associations_Labelfull1_Caption0}'); 676 Left := ScaleX(0); 677 Top := ScaleY(0); 678 Width := ScaleX(163); 679 Height := ScaleY(13); 680 Font.Color := -16777208; 681 Font.Height := ScaleY(-11); 682 Font.Name := 'Tahoma'; 683 Font.Style := [fsBold]; 684 WordWrap := True; 685end; 686 687{ Bevel1 } 688Bevel1 := TBevel.Create(Page); 689with Bevel1 do 690begin 691 Parent := Page.Surface; 692 Left := ScaleX(0); 693 Top := ScaleY(20); 694 Width := ScaleX(410); 695 Height := ScaleY(52); 696end; 697 698{ Labelread1 } 699Labelread1 := TLabel.Create(Page); 700with Labelread1 do 701begin 702 Parent := Page.Surface; 703 Caption := ExpandConstant('{cm:Associations_Labelread1_Caption0}'); 704 Left := ScaleX(0); 705 Top := ScaleY(112); 706 Width := ScaleX(128); 707 Height := ScaleY(13); 708 Font.Color := -16777208; 709 Font.Height := ScaleY(-11); 710 Font.Name := 'Tahoma'; 711 Font.Style := [fsBold]; 712 WordWrap := True; 713end; 714 715{ Bevel2 } 716Bevel2 := TBevel.Create(Page); 717with Bevel2 do 718begin 719 Parent := Page.Surface; 720 Left := ScaleX(0); 721 Top := ScaleY(132); 722 Width := ScaleX(410); 723 Height := ScaleY(78); 724end; 725 726{ cb7z } 727cb7z := TCheckBox.Create(Page); 728with cb7z do 729begin 730 Parent := Page.Surface; 731 Caption := ExpandConstant('{cm:Associations_cb7z_Caption0}'); 732 Left := ScaleX(6); 733 Top := ScaleY(24); 734 Width := ScaleX(81); 735 Height := ScaleY(17); 736 Checked := True; 737 State := cbChecked; 738 TabOrder := 2; 739end; 740 741{ cbarc } 742cbarc := TCheckBox.Create(Page); 743with cbarc do 744begin 745 Parent := Page.Surface; 746 Caption := ExpandConstant('{cm:Associations_cbarc_Caption0}'); 747 Left := ScaleX(110); 748 Top := ScaleY(24); 749 Width := ScaleX(73); 750 Height := ScaleY(17); 751 Checked := True; 752 State := cbChecked; 753 TabOrder := 3; 754end; 755 756{ cbbr } 757cbbr := TCheckBox.Create(Page); 758with cbbr do 759begin 760 Parent := Page.Surface; 761 Caption := ExpandConstant('{cm:Associations_cbbr_Caption0}'); 762 Left := ScaleX(214); 763 Top := ScaleY(24); 764 Width := ScaleX(73); 765 Height := ScaleY(17); 766 Checked := True; 767 State := cbChecked; 768 TabOrder := 4; 769end; 770 771{ cbpaq8 } 772cbpaq8 := TCheckBox.Create(Page); 773with cbpaq8 do 774begin 775 Parent := Page.Surface; 776 Caption := ExpandConstant('{cm:Associations_cbpaq8_Caption0}'); 777 Left := ScaleX(318); 778 Top := ScaleY(24); 779 Width := ScaleX(81); 780 Height := ScaleY(17); 781 Checked := True; 782 State := cbChecked; 783 TabOrder := 5; 784end; 785 786{ cbquad } 787cbquad := TCheckBox.Create(Page); 788with cbquad do 789begin 790 Parent := Page.Surface; 791 Caption := ExpandConstant('{cm:Associations_cbquad_Caption0}'); 792 Left := ScaleX(6); 793 Top := ScaleY(48); 794 Width := ScaleX(100); 795 Height := ScaleY(17); 796 Checked := True; 797 State := cbChecked; 798 TabOrder := 6; 799end; 800 801{ cbtar } 802cbtar := TCheckBox.Create(Page); 803with cbtar do 804begin 805 Parent := Page.Surface; 806 Caption := ExpandConstant('{cm:Associations_cbtar_Caption0}'); 807 Left := ScaleX(110); 808 Top := ScaleY(48); 809 Width := ScaleX(73); 810 Height := ScaleY(17); 811 Checked := True; 812 State := cbChecked; 813 TabOrder := 7; 814end; 815 816{ cbzip } 817cbzip := TCheckBox.Create(Page); 818with cbzip do 819begin 820 Parent := Page.Surface; 821 Caption := ExpandConstant('{cm:Associations_cbzip_Caption0}'); 822 Left := ScaleX(214); 823 Top := ScaleY(48); 824 Width := ScaleX(81); 825 Height := ScaleY(17); 826 Checked := True; 827 State := cbChecked; 828 TabOrder := 8; 829end; 830 831{ cbzst } 832cbzst := TCheckBox.Create(Page); 833with cbzst do 834begin 835 Parent := Page.Surface; 836 Caption := ExpandConstant('{cm:Associations_cbzst_Caption0}'); 837 Left := ScaleX(318); 838 Top := ScaleY(48); 839 Width := ScaleX(81); 840 Height := ScaleY(17); 841 Checked := True; 842 State := cbChecked; 843 TabOrder := 9; 844end; 845 846{ cbfullnone } 847cbfullnone := TCheckBox.Create(Page); 848with cbfullnone do 849begin 850 Parent := Page.Surface; 851 Caption := ExpandConstant('{cm:Associations_cbfullnone_Caption0}'); 852 Left := ScaleX(0); 853 Top := ScaleY(74); 854 Width := ScaleX(321); 855 Height := ScaleY(25); 856 TabOrder := 0; 857end; 858 859{ cbarj } 860cbarj := TCheckBox.Create(Page); 861with cbarj do 862begin 863 Parent := Page.Surface; 864 Caption := ExpandConstant('{cm:Associations_cbarj_Caption0}'); 865 Left := ScaleX(110); 866 Top := ScaleY(136); 867 Width := ScaleX(81); 868 Height := ScaleY(17); 869 Checked := True; 870 State := cbChecked; 871 TabOrder := 11; 872end; 873 874{ cbcab } 875cbcab := TCheckBox.Create(Page); 876with cbcab do 877begin 878 Parent := Page.Surface; 879 Caption := ExpandConstant('{cm:Associations_cbcab_Caption0}'); 880 Left := ScaleX(214); 881 Top := ScaleY(136); 882 Width := ScaleX(73); 883 Height := ScaleY(17); 884 Checked := True; 885 State := cbChecked; 886 TabOrder := 12; 887end; 888 889{ cblinux } 890cblinux := TCheckBox.Create(Page); 891with cblinux do 892begin 893 Parent := Page.Surface; 894 Caption := ExpandConstant('{cm:Associations_cblinux_Caption0}'); 895 Left := ScaleX(6); 896 Top := ScaleY(184); 897 Width := ScaleX(200); 898 Height := ScaleY(17); 899 Checked := True; 900 State := cbChecked; 901 TabOrder := 18; 902end; 903 904{ cbiso } 905cbiso := TCheckBox.Create(Page); 906with cbiso do 907begin 908 Parent := Page.Surface; 909 Caption := ExpandConstant('{cm:Associations_cbiso_Caption0}'); 910 Left := ScaleX(6); 911 Top := ScaleY(160); 912 Width := ScaleX(81); 913 Height := ScaleY(17); 914 TabOrder := 14; 915end; 916 917{ cblha } 918cblha := TCheckBox.Create(Page); 919with cblha do 920begin 921 Parent := Page.Surface; 922 Caption := ExpandConstant('{cm:Associations_cblha_Caption0}'); 923 Left := ScaleX(110); 924 Top := ScaleY(160); 925 Width := ScaleX(73); 926 Height := ScaleY(17); 927 Checked := True; 928 State := cbChecked; 929 TabOrder := 15; 930end; 931 932{ cblzh } 933cblzh := TCheckBox.Create(Page); 934with cblzh do 935begin 936 Parent := Page.Surface; 937 Caption := ExpandConstant('{cm:Associations_cblzh_Caption0}'); 938 Left := ScaleX(214); 939 Top := ScaleY(160); 940 Width := ScaleX(73); 941 Height := ScaleY(17); 942 Checked := True; 943 State := cbChecked; 944 TabOrder := 16; 945end; 946 947{ cbrar } 948cbrar := TCheckBox.Create(Page); 949with cbrar do 950begin 951 Parent := Page.Surface; 952 Caption := ExpandConstant('{cm:Associations_cbrar_Caption0}'); 953 Left := ScaleX(318); 954 Top := ScaleY(160); 955 Width := ScaleX(81); 956 Height := ScaleY(17); 957 Checked := True; 958 State := cbChecked; 959 TabOrder := 17; 960end; 961 962{ cbcpio } 963cbcpio := TCheckBox.Create(Page); 964with cbcpio do 965begin 966 Parent := Page.Surface; 967 Caption := ExpandConstant('{cm:Associations_cbcpio_Caption0}'); 968 Left := ScaleX(318); 969 Top := ScaleY(136); 970 Width := ScaleX(73); 971 Height := ScaleY(17); 972 Checked := True; 973 State := cbChecked; 974 TabOrder := 13; 975end; 976 977{ cbreadnone } 978cbreadnone := TCheckBox.Create(Page); 979with cbreadnone do 980begin 981 Parent := Page.Surface; 982 Caption := ExpandConstant('{cm:Associations_cbreadnone_Caption0}'); 983 Left := ScaleX(0); 984 Top := ScaleY(210); 985 Width := ScaleX(329); 986 Height := ScaleY(25); 987 TabOrder := 1; 988end; 989 990{ cbace } 991cbace := TCheckBox.Create(Page); 992with cbace do 993begin 994 Parent := Page.Surface; 995 Caption := ExpandConstant('{cm:Associations_cbace_Caption0}'); 996 Left := ScaleX(6); 997 Top := ScaleY(136); 998 Width := ScaleX(81); 999 Height := ScaleY(17); 1000 Checked := True; 1001 State := cbChecked; 1002 TabOrder := 10; 1003end; 1004 1005{ cbMac } 1006cbMac := TCheckBox.Create(Page); 1007with cbMac do 1008begin 1009 Parent := Page.Surface; 1010 Caption := ExpandConstant('{cm:Associations_cbMac_Caption0}'); 1011 Left := ScaleX(214); 1012 Top := ScaleY(184); 1013 Width := ScaleX(200); 1014 Height := ScaleY(17); 1015 Checked := True; 1016 State := cbChecked; 1017 TabOrder := 19; 1018end; 1019 1020 with Page do 1021 begin 1022 OnActivate := @Associations_Activate; 1023 OnShouldSkipPage := @Associations_ShouldSkipPage; 1024 OnBackButtonClick := @Associations_BackButtonClick; 1025 OnNextButtonClick := @Associations_NextButtonClick; 1026 OnCancelButtonClick := @Associations_CancelButtonClick; 1027 end; 1028 1029 Result := Page.ID; 1030 end; 1031 1032{ context_Activate } 1033 1034procedure context_Activate(Page: TWizardPage); 1035begin 1036 // enter code here... 1037end; 1038 1039{ context_ShouldSkipPage } 1040 1041function context_ShouldSkipPage(Page: TWizardPage): Boolean; 1042begin 1043 if (radiobuttoninstall1.Checked = True) or (radiobuttoninstall3.Checked = True) or (radiobuttoninstall4.Checked = True) then Result := True 1044 else Result := False; 1045end; 1046 1047{ context_BackButtonClick } 1048 1049function context_BackButtonClick(Page: TWizardPage): Boolean; 1050begin 1051 Result := True; 1052end; 1053 1054{ context_NextkButtonClick } 1055 1056function context_NextButtonClick(Page: TWizardPage): Boolean; 1057begin 1058 Result := True; 1059end; 1060 1061{ context_CancelButtonClick } 1062 1063procedure context_CancelButtonClick(Page: TWizardPage; var Cancel, Confirm: Boolean); 1064begin 1065 // enter code here... 1066end; 1067 1068{ context_CreatePage } 1069 1070function context_CreatePage(PreviousPageId: Integer): Integer; 1071var 1072 Page: TWizardPage; 1073begin 1074 Page := CreateCustomPage( 1075 PreviousPageId, 1076 ExpandConstant('{cm:context_Caption}'), 1077 ExpandConstant('{cm:context_Description}') 1078 ); 1079 1080{ Bevel1context } 1081 Bevel1context := TBevel.Create(Page); 1082 with Bevel1context do 1083 begin 1084 Parent := Page.Surface; 1085 Left := ScaleX(8); 1086 Top := ScaleY(2); 1087 Width := ScaleX(396); 1088 Height := ScaleY(210); 1089 end; 1090 1091 { cbcontextnone } 1092 cbcontextnone := TCheckBox.Create(Page); 1093 with cbcontextnone do 1094 begin 1095 Parent := Page.Surface; 1096 Caption := ExpandConstant('{cm:context_cbcontextnone_Caption0}'); 1097 Left := ScaleX(8); 1098 Top := ScaleY(214); 1099 Width := ScaleX(240); 1100 Height := ScaleY(17); 1101 TabOrder := 0; 1102 end; 1103 1104 { cbcascaded } 1105 cbcascaded := TCheckBox.Create(Page); 1106 with cbcascaded do 1107 begin 1108 Parent := Page.Surface; 1109 Caption := ExpandConstant('{cm:context_cbcascaded_Caption0}'); 1110 Left := ScaleX(260); 1111 Top := ScaleY(214); 1112 Width := ScaleX(185); 1113 Height := ScaleY(17); 1114 Checked := True; 1115 State := cbChecked; 1116 TabOrder := 1; 1117 end; 1118 if (GetWindowsVersion <= $06000000) then cbcascaded.visible:=false; 1119 1120 { cbcontextadd2archive } 1121 cbcontextadd2archive := TCheckBox.Create(Page); 1122 with cbcontextadd2archive do 1123 begin 1124 Parent := Page.Surface; 1125 Caption := ExpandConstant('{cm:context_cbcontextadd2archive_Caption0}'); 1126 Left := ScaleX(16); 1127 Top := ScaleY(8); 1128 Width := ScaleX(169); 1129 Height := ScaleY(17); 1130 Checked := True; 1131 State := cbChecked; 1132 TabOrder := 2; 1133 end; 1134 1135 { cbcontextadd2archiveseparate } 1136 cbcontextadd2archiveseparate := TCheckBox.Create(Page); 1137 with cbcontextadd2archiveseparate do 1138 begin 1139 Parent := Page.Surface; 1140 Caption := ExpandConstant('{cm:context_cbcontextadd2archiveseparate_Caption0}'); 1141 Left := ScaleX(16); 1142 Top := ScaleY(28); 1143 Width := ScaleX(169); 1144 Height := ScaleY(17); 1145 TabOrder := 3; 1146 end; 1147 1148 { cbcontextsfx } 1149 cbcontextsfx := TCheckBox.Create(Page); 1150 with cbcontextsfx do 1151 begin 1152 Parent := Page.Surface; 1153 Caption := ExpandConstant('{cm:context_cbcontextsfx_Caption0}'); 1154 Left := ScaleX(16); 1155 Top := ScaleY(48); 1156 Width := ScaleX(169); 1157 Height := ScaleY(17); 1158 TabOrder := 4; 1159 end; 1160 1161 { cbcontext7zs } 1162 cbcontext7zs := TCheckBox.Create(Page); 1163 with cbcontext7zs do 1164 begin 1165 Parent := Page.Surface; 1166 Caption := ExpandConstant('{cm:context_cbcontext7zs_Caption0}'); 1167 Left := ScaleX(16); 1168 Top := ScaleY(68); 1169 Width := ScaleX(169); 1170 Height := ScaleY(17); 1171 Checked := True; 1172 State := cbChecked; 1173 TabOrder := 5; 1174 end; 1175 1176 { CheckBox3f } 1177 CheckBox3f := TCheckBox.Create(Page); 1178 with CheckBox3f do 1179 begin 1180 Parent := Page.Surface; 1181 Caption := ExpandConstant('{cm:context_CheckBox3f_Caption0}'); 1182 Left := ScaleX(16); 1183 Top := ScaleY(88); 1184 Width := ScaleX(169); 1185 Height := ScaleY(17); 1186 TabOrder := 6; 1187 end; 1188 1189 { CheckBox3 } 1190 CheckBox3 := TCheckBox.Create(Page); 1191 with CheckBox3 do 1192 begin 1193 Parent := Page.Surface; 1194 Caption := ExpandConstant('{cm:context_CheckBox3_Caption0}'); 1195 Left := ScaleX(16); 1196 Top := ScaleY(108); 1197 Width := ScaleX(169); 1198 Height := ScaleY(17); 1199 TabOrder := 7; 1200 end; 1201 1202 { cbcontextzips } 1203 cbcontextzips := TCheckBox.Create(Page); 1204 with cbcontextzips do 1205 begin 1206 Parent := Page.Surface; 1207 Caption := ExpandConstant('{cm:context_cbcontextzips_Caption0}'); 1208 Left := ScaleX(16); 1209 Top := ScaleY(128); 1210 Width := ScaleX(169); 1211 Height := ScaleY(17); 1212 Checked := True; 1213 State := cbChecked; 1214 TabOrder := 8; 1215 end; 1216 1217 { CheckBox4 } 1218 CheckBox4 := TCheckBox.Create(Page); 1219 with CheckBox4 do 1220 begin 1221 Parent := Page.Surface; 1222 Caption := ExpandConstant('{cm:context_CheckBox4_Caption0}'); 1223 Left := ScaleX(16); 1224 Top := ScaleY(148); 1225 Width := ScaleX(169); 1226 Height := ScaleY(17); 1227 TabOrder := 9; 1228 end; 1229 1230 { cbcontext7zsenc } 1231 cbcontext7zsenc := TCheckBox.Create(Page); 1232 with cbcontext7zsenc do 1233 begin 1234 Parent := Page.Surface; 1235 Caption := ExpandConstant('{cm:context_cbcontext7zsenc_Caption0}'); 1236 Left := ScaleX(16); 1237 Top := ScaleY(168); 1238 Width := ScaleX(169); 1239 Height := ScaleY(17); 1240 Checked := True; 1241 State := cbChecked; 1242 TabOrder := 10; 1243 end; 1244 1245 { cbcontextzipmail } 1246 cbcontextzipmail := TCheckBox.Create(Page); 1247 with cbcontextzipmail do 1248 begin 1249 Parent := Page.Surface; 1250 Caption := ExpandConstant('{cm:context_cbcontextzipmail_Caption0}'); 1251 Left := ScaleX(16); 1252 Top := ScaleY(188); 1253 Width := ScaleX(169); 1254 Height := ScaleY(17); 1255 TabOrder := 11; 1256 end; 1257 1258 { cbcontextsplit } 1259 cbcontextsplit := TCheckBox.Create(Page); 1260 with cbcontextsplit do 1261 begin 1262 Parent := Page.Surface; 1263 Caption := ExpandConstant('{cm:context_cbcontextsplit_Caption0}'); 1264 Left := ScaleX(208); 1265 Top := ScaleY(8); 1266 Width := ScaleX(177); 1267 Height := ScaleY(17); 1268 TabOrder := 12; 1269 end; 1270 1271 { cbcontextconvert } 1272 cbcontextconvert := TCheckBox.Create(Page); 1273 with cbcontextconvert do 1274 begin 1275 Parent := Page.Surface; 1276 Caption := ExpandConstant('{cm:context_cbcontextconvert_Caption0}'); 1277 Left := ScaleX(208); 1278 Top := ScaleY(28); 1279 Width := ScaleX(177); 1280 Height := ScaleY(17); 1281 Checked := True; 1282 State := cbChecked; 1283 TabOrder := 13; 1284 end; 1285 1286 { cbcontextext } 1287 cbcontextext := TCheckBox.Create(Page); 1288 with cbcontextext do 1289 begin 1290 Parent := Page.Surface; 1291 Caption := ExpandConstant('{cm:context_cbcontextext_Caption0}'); 1292 Left := ScaleX(208); 1293 Top := ScaleY(48); 1294 Width := ScaleX(193); 1295 Height := ScaleY(17); 1296 Checked := True; 1297 State := cbChecked; 1298 TabOrder := 14; 1299 end; 1300 1301 { cbcontextext2here } 1302 cbcontextext2here := TCheckBox.Create(Page); 1303 with cbcontextext2here do 1304 begin 1305 Parent := Page.Surface; 1306 Caption := ExpandConstant('{cm:context_cbcontextext2here_Caption0}'); 1307 Left := ScaleX(208); 1308 Top := ScaleY(68); 1309 Width := ScaleX(193); 1310 Height := ScaleY(17); 1311 Checked := True; 1312 State := cbChecked; 1313 TabOrder := 15; 1314 end; 1315 1316 { cbcontextext2smart } 1317 cbcontextext2smart := TCheckBox.Create(Page); 1318 with cbcontextext2smart do 1319 begin 1320 Parent := Page.Surface; 1321 Caption := ExpandConstant('{cm:context_cbcontextext2smart_Caption0}'); 1322 Left := ScaleX(208); 1323 Top := ScaleY(88); 1324 Width := ScaleX(177); 1325 Height := ScaleY(17); 1326 Checked := True; 1327 State := cbChecked; 1328 TabOrder := 16; 1329 end; 1330 1331 { cbcontextext2folder } 1332 cbcontextext2folder := TCheckBox.Create(Page); 1333 with cbcontextext2folder do 1334 begin 1335 Parent := Page.Surface; 1336 Caption := ExpandConstant('{cm:context_cbcontextext2folder_Caption0}'); 1337 Left := ScaleX(208); 1338 Top := ScaleY(108); 1339 Width := ScaleX(177); 1340 Height := ScaleY(17); 1341 TabOrder := 17; 1342 end; 1343 1344 { cbcontexttest } 1345 cbcontexttest := TCheckBox.Create(Page); 1346 with cbcontexttest do 1347 begin 1348 Parent := Page.Surface; 1349 Caption := ExpandConstant('{cm:context_cbcontexttest_Caption0}'); 1350 Left := ScaleX(208); 1351 Top := ScaleY(128); 1352 Width := ScaleX(185); 1353 Height := ScaleY(17); 1354 TabOrder := 18; 1355 end; 1356 1357 { cbcontextbrowse } 1358 cbcontextbrowse := TCheckBox.Create(Page); 1359 with cbcontextbrowse do 1360 begin 1361 Parent := Page.Surface; 1362 Caption := ExpandConstant('{cm:context_cbcontextbrowse_Caption0}'); 1363 Left := ScaleX(208); 1364 Top := ScaleY(148); 1365 Width := ScaleX(169); 1366 Height := ScaleY(17); 1367 Checked := True; 1368 State := cbChecked; 1369 TabOrder := 19; 1370 end; 1371 1372 { cbcontextcrc } 1373 cbcontextcrc := TCheckBox.Create(Page); 1374 with cbcontextcrc do 1375 begin 1376 Parent := Page.Surface; 1377 Caption := ExpandConstant('{cm:context_cbcontextcrc_Caption0}'); 1378 Left := ScaleX(208); 1379 Top := ScaleY(168); 1380 Width := ScaleX(169); 1381 Height := ScaleY(17); 1382 Checked := True; 1383 State := cbChecked; 1384 TabOrder := 20; 1385 end; 1386 1387 { cbcontextwipe } 1388 cbcontextwipe := TCheckBox.Create(Page); 1389 with cbcontextwipe do 1390 begin 1391 Parent := Page.Surface; 1392 Caption := ExpandConstant('{cm:context_cbcontextwipe_Caption0}'); 1393 Left := ScaleX(208); 1394 Top := ScaleY(188); 1395 Width := ScaleX(177); 1396 Height := ScaleY(17); 1397 TabOrder := 21; 1398 end; 1399 1400 with Page do 1401 begin 1402 OnActivate := @context_Activate; 1403 OnShouldSkipPage := @context_ShouldSkipPage; 1404 OnBackButtonClick := @context_BackButtonClick; 1405 OnNextButtonClick := @context_NextButtonClick; 1406 OnCancelButtonClick := @context_CancelButtonClick; 1407 end; 1408 1409 Result := Page.ID; 1410end; 1411 1412{ Links_Activate } 1413 1414procedure Links_Activate(Page: TWizardPage); 1415begin 1416 // enter code here... 1417end; 1418 1419{ Links_ShouldSkipPage } 1420 1421function Links_ShouldSkipPage(Page: TWizardPage): Boolean; 1422begin 1423if (radiobuttoninstall1.Checked = True) or (radiobuttoninstall3.Checked = True) or (radiobuttoninstall4.Checked = True) then Result := True 1424else Result := False; 1425end; 1426 1427{ Links_BackButtonClick } 1428 1429function Links_BackButtonClick(Page: TWizardPage): Boolean; 1430begin 1431 Result := True; 1432end; 1433 1434{ Links_NextkButtonClick } 1435 1436function Links_NextButtonClick(Page: TWizardPage): Boolean; 1437begin 1438 Result := True; 1439end; 1440 1441{ Links_CancelButtonClick } 1442 1443procedure Links_CancelButtonClick(Page: TWizardPage; var Cancel, Confirm: Boolean); 1444begin 1445 // enter code here... 1446end; 1447 1448{ Links_CreatePage } 1449 1450function Links_CreatePage(PreviousPageId: Integer): Integer; 1451var 1452 Page: TWizardPage; 1453begin 1454 Page := CreateCustomPage( 1455 PreviousPageId, 1456 ExpandConstant('{cm:Links_Caption}'), 1457 ExpandConstant('{cm:Links_Description}') 1458 ); 1459 1460{ Bevel1fun } 1461 Bevel1fun := TBevel.Create(Page); 1462 with Bevel1fun do 1463 begin 1464 Parent := Page.Surface; 1465 Left := ScaleX(8); 1466 Top := ScaleY(2); 1467 Width := ScaleX(396); 1468 Height := ScaleY(210); 1469 end; 1470 1471 { cbfunext2here } 1472 cbfunext2here := TCheckBox.Create(Page); 1473 with cbfunext2here do 1474 begin 1475 Parent := Page.Surface; 1476 Caption := ExpandConstant('{cm:Links_cbfunext2here_Caption0}'); 1477 Left := ScaleX(208); 1478 Top := ScaleY(48); 1479 Width := ScaleX(177); 1480 Height := ScaleY(17); 1481 Checked := True; 1482 State := cbChecked; 1483 TabOrder := 12; 1484 end; 1485 1486 { cbfun7z } 1487 cbfun7z := TCheckBox.Create(Page); 1488 with cbfun7z do 1489 begin 1490 Parent := Page.Surface; 1491 Caption := ExpandConstant('{cm:Links_cbfun7z_Caption0}'); 1492 Left := ScaleX(16); 1493 Top := ScaleY(28); 1494 Width := ScaleX(169); 1495 Height := ScaleY(17); 1496 TabOrder := 2; 1497 end; 1498 1499 { cbfunzip } 1500 cbfunzip := TCheckBox.Create(Page); 1501 with cbfunzip do 1502 begin 1503 Parent := Page.Surface; 1504 Caption := ExpandConstant('{cm:Links_cbfunzip_Caption0}'); 1505 Left := ScaleX(16); 1506 Top := ScaleY(88); 1507 Width := ScaleX(177); 1508 Height := ScaleY(17); 1509 TabOrder := 5; 1510 end; 1511 1512 { cbfunsfx } 1513 cbfunsfx := TCheckBox.Create(Page); 1514 with cbfunsfx do 1515 begin 1516 Parent := Page.Surface; 1517 Caption := ExpandConstant('{cm:Links_cbfunsfx_Caption0}'); 1518 Left := ScaleX(16); 1519 Top := ScaleY(148); 1520 Width := ScaleX(177); 1521 Height := ScaleY(17); 1522 TabOrder := 8; 1523 end; 1524 1525 { cbfunsplit } 1526 cbfunsplit := TCheckBox.Create(Page); 1527 with cbfunsplit do 1528 begin 1529 Parent := Page.Surface; 1530 Caption := ExpandConstant('{cm:Links_cbfunsplit_Caption0}'); 1531 Left := ScaleX(208); 1532 Top := ScaleY(168); 1533 Width := ScaleX(177); 1534 Height := ScaleY(17); 1535 TabOrder := 19; 1536 end; 1537 1538 { cbfunconvert } 1539 cbfunconvert := TCheckBox.Create(Page); 1540 with cbfunconvert do 1541 begin 1542 Parent := Page.Surface; 1543 Caption := ExpandConstant('{cm:Links_cbfunconvert_Caption0}'); 1544 Left := ScaleX(208); 1545 Top := ScaleY(188); 1546 Width := ScaleX(169); 1547 Height := ScaleY(17); 1548 TabOrder := 20; 1549 end; 1550 1551 { cbfunnone } 1552 cbfunnone := TCheckBox.Create(Page); 1553 with cbfunnone do 1554 begin 1555 Parent := Page.Surface; 1556 Caption := ExpandConstant('{cm:Links_cbfunnone_Caption0}'); 1557 Left := ScaleX(8); 1558 Top := ScaleY(214); 1559 Width := ScaleX(321); 1560 Height := ScaleY(17); 1561 TabOrder := 0; 1562 end; 1563 1564 { cbfunext2folder } 1565 cbfunext2folder := TCheckBox.Create(Page); 1566 with cbfunext2folder do 1567 begin 1568 Parent := Page.Surface; 1569 Caption := ExpandConstant('{cm:Links_cbfunext2folder_Caption0}'); 1570 Left := ScaleX(208); 1571 Top := ScaleY(68); 1572 Width := ScaleX(180); 1573 Height := ScaleY(17); 1574 Checked := True; 1575 State := cbChecked; 1576 TabOrder := 13; 1577 end; 1578 1579 { cbfun7zs } 1580 cbfun7zs := TCheckBox.Create(Page); 1581 with cbfun7zs do 1582 begin 1583 Parent := Page.Surface; 1584 Caption := ExpandConstant('{cm:Links_cbfun7zs_Caption0}'); 1585 Left := ScaleX(32); 1586 Top := ScaleY(48); 1587 Width := ScaleX(161); 1588 Height := ScaleY(17); 1589 TabOrder := 3; 1590 end; 1591 1592 { cbfunzips } 1593 cbfunzips := TCheckBox.Create(Page); 1594 with cbfunzips do 1595 begin 1596 Parent := Page.Surface; 1597 Caption := ExpandConstant('{cm:Links_cbfunzips_Caption0}'); 1598 Left := ScaleX(32); 1599 Top := ScaleY(108); 1600 Width := ScaleX(153); 1601 Height := ScaleY(17); 1602 TabOrder := 6; 1603 end; 1604 1605 { cbfunencrypt } 1606 cbfunencrypt := TCheckBox.Create(Page); 1607 with cbfunencrypt do 1608 begin 1609 Parent := Page.Surface; 1610 Caption := ExpandConstant('{cm:Links_cbfunencrypt_Caption0}'); 1611 Left := ScaleX(16); 1612 Top := ScaleY(188); 1613 Width := ScaleX(169); 1614 Height := ScaleY(17); 1615 TabOrder := 10; 1616 end; 1617 1618 { cbfuntest } 1619 cbfuntest := TCheckBox.Create(Page); 1620 with cbfuntest do 1621 begin 1622 Parent := Page.Surface; 1623 Caption := ExpandConstant('{cm:Links_cbfuntest_Caption0}'); 1624 Left := ScaleX(208); 1625 Top := ScaleY(108); 1626 Width := ScaleX(185); 1627 Height := ScaleY(17); 1628 Checked := True; 1629 State := cbChecked; 1630 TabOrder := 15; 1631 end; 1632 1633 { cbfunzipmail } 1634 cbfunzipmail := TCheckBox.Create(Page); 1635 with cbfunzipmail do 1636 begin 1637 Parent := Page.Surface; 1638 Caption := ExpandConstant('{cm:Links_cbfunzipmail_Caption0}'); 1639 Left := ScaleX(32); 1640 Top := ScaleY(128); 1641 Width := ScaleX(153); 1642 Height := ScaleY(17); 1643 TabOrder := 7; 1644 end; 1645 1646 { cbfun7zmail } 1647 cbfun7zmail := TCheckBox.Create(Page); 1648 with cbfun7zmail do 1649 begin 1650 Parent := Page.Surface; 1651 Caption := ExpandConstant('{cm:Links_cbfun7zmail_Caption0}'); 1652 Left := ScaleX(32); 1653 Top := ScaleY(68); 1654 Width := ScaleX(161); 1655 Height := ScaleY(17); 1656 TabOrder := 4; 1657 end; 1658 1659 { cbfunsfxmail } 1660 cbfunsfxmail := TCheckBox.Create(Page); 1661 with cbfunsfxmail do 1662 begin 1663 Parent := Page.Surface; 1664 Caption := ExpandConstant('{cm:Links_cbfunsfxmail_Caption0}'); 1665 Left := ScaleX(32); 1666 Top := ScaleY(168); 1667 Width := ScaleX(161); 1668 Height := ScaleY(17); 1669 TabOrder := 9; 1670 end; 1671 1672 { cbfunwipe } 1673 cbfunwipe := TCheckBox.Create(Page); 1674 with cbfunwipe do 1675 begin 1676 Parent := Page.Surface; 1677 Caption := ExpandConstant('{cm:Links_cbfunwipe_Caption0}'); 1678 Left := ScaleX(208); 1679 Top := ScaleY(148); 1680 Width := ScaleX(169); 1681 Height := ScaleY(17); 1682 TabOrder := 18; 1683 end; 1684 1685 { cbfunext2to } 1686 cbfunext2to := TCheckBox.Create(Page); 1687 with cbfunext2to do 1688 begin 1689 Parent := Page.Surface; 1690 Caption := ExpandConstant('{cm:Links_cbfunext2to_Caption0}'); 1691 Left := ScaleX(208); 1692 Top := ScaleY(88); 1693 Width := ScaleX(177); 1694 Height := ScaleY(17); 1695 Checked := True; 1696 State := cbChecked; 1697 TabOrder := 14; 1698 end; 1699 1700 { CheckBoxbrowsepath } 1701 CheckBoxbrowsepath := TCheckBox.Create(Page); 1702 with CheckBoxbrowsepath do 1703 begin 1704 Parent := Page.Surface; 1705 Caption := ExpandConstant('{cm:Links_CheckBoxbrowsepath_Caption0}'); 1706 Left := ScaleX(208); 1707 Top := ScaleY(8); 1708 Width := ScaleX(177); 1709 Height := ScaleY(17); 1710 Checked := True; 1711 State := cbChecked; 1712 TabOrder := 16; 1713 end; 1714 1715 { CheckBoxcommand } 1716 CheckBoxcommand := TCheckBox.Create(Page); 1717 with CheckBoxcommand do 1718 begin 1719 Parent := Page.Surface; 1720 Caption := ExpandConstant('{cm:Links_CheckBoxcommand_Caption0}'); 1721 Left := ScaleX(208); 1722 Top := ScaleY(128); 1723 Width := ScaleX(177); 1724 Height := ScaleY(17); 1725 TabOrder := 17; 1726 end; 1727 1728 { cbfunadd } 1729 cbfunadd := TCheckBox.Create(Page); 1730 with cbfunadd do 1731 begin 1732 Parent := Page.Surface; 1733 Caption := ExpandConstant('{cm:Links_cbfunadd_Caption0}'); 1734 Left := ScaleX(16); 1735 Top := ScaleY(8); 1736 Width := ScaleX(169); 1737 Height := ScaleY(17); 1738 Checked := True; 1739 State := cbChecked; 1740 TabOrder := 1; 1741 end; 1742 1743 { cbfunopen } 1744 cbfunopen := TCheckBox.Create(Page); 1745 with cbfunopen do 1746 begin 1747 Parent := Page.Surface; 1748 Caption := ExpandConstant('{cm:Links_cbfunopen_Caption0}'); 1749 Left := ScaleX(208); 1750 Top := ScaleY(28); 1751 Width := ScaleX(169); 1752 Height := ScaleY(17); 1753 Checked := True; 1754 State := cbChecked; 1755 TabOrder := 11; 1756 end; 1757 1758 with Page do 1759 begin 1760 OnActivate := @Links_Activate; 1761 OnShouldSkipPage := @Links_ShouldSkipPage; 1762 OnBackButtonClick := @Links_BackButtonClick; 1763 OnNextButtonClick := @Links_NextButtonClick; 1764 OnCancelButtonClick := @Links_CancelButtonClick; 1765 end; 1766 1767 Result := Page.ID; 1768end; 1769 1770 { InitializeWizard } 1771 1772 procedure InitializeWizard(); 1773 begin 1774 Associations_CreatePage(wpSelectDir);//InfoBefore); 1775 Links_CreatePage(wpSelectDir); 1776 context_CreatePage(wpSelectDir); 1777 install_CreatePage(wpInfoBefore);//(wpWelcome); 1778 end; 1779 1780function shouldskippage(CurPageID: Integer): Boolean; 1781begin 1782if (radiobuttoninstall1.Checked = True) or (radiobuttoninstall4.Checked = True) then 1783 begin 1784 if curpageid=wpSelectDir then Result := True; 1785 if curpageid=wpSelectTasks then Result := True; 1786 end; 1787end; 1788 1789procedure clearlinks; 1790begin 1791deletefile(expandconstant('{sendto}')+'\Add to archive.lnk'); 1792deletefile(expandconstant('{sendto}')+'\Convert.lnk'); 1793deletefile(expandconstant('{sendto}')+'\Add to 7Z.lnk'); 1794deletefile(expandconstant('{sendto}')+'\Add to 7Z and send by mail.lnk'); 1795deletefile(expandconstant('{sendto}')+'\Add to separate 7Z.lnk'); 1796deletefile(expandconstant('{sendto}')+'\Add to ZIP.lnk'); 1797deletefile(expandconstant('{sendto}')+'\Add to ZIP and send by mail.lnk'); 1798deletefile(expandconstant('{sendto}')+'\Add to separate ZIP.lnk'); 1799deletefile(expandconstant('{sendto}')+'\Add to self-extracting archive.lnk'); 1800deletefile(expandconstant('{sendto}')+'\Add to sfx and send by mail.lnk'); 1801deletefile(expandconstant('{sendto}')+'\Encrypt (PEA).lnk'); 1802deletefile(expandconstant('{sendto}')+'\Split file.lnk'); 1803deletefile(expandconstant('{sendto}')+'\Secure delete.lnk'); 1804deletefile(expandconstant('{sendto}')+'\Extract here.lnk'); 1805deletefile(expandconstant('{sendto}')+'\Extract....lnk'); 1806deletefile(expandconstant('{sendto}')+'\Extract here (in new folder).lnk'); 1807deletefile(expandconstant('{sendto}')+'\Open with PeaZip.lnk'); 1808deletefile(expandconstant('{sendto}')+'\Test archive(s).lnk'); 1809deletefile(expandconstant('{sendto}')+'\Open as archive.lnk'); 1810deletefile(expandconstant('{sendto}')+'\Browse path with PeaZip.lnk'); 1811deletefile(expandconstant('{sendto}')+'\Open command prompt here.lnk'); 1812//legacy 1813deletefile(expandconstant('{sendto}')+'\Encrypt.lnk'); 1814deletefile(expandconstant('{sendto}')+'\Add to .7Z.lnk'); 1815deletefile(expandconstant('{sendto}')+'\Add to .7Z and send by mail.lnk'); 1816deletefile(expandconstant('{sendto}')+'\Add to separate .7Z.lnk'); 1817deletefile(expandconstant('{sendto}')+'\Add to .ZIP.lnk'); 1818deletefile(expandconstant('{sendto}')+'\Add to .ZIP and send by mail.lnk'); 1819deletefile(expandconstant('{sendto}')+'\Add to separate .ZIP.lnk'); 1820end; 1821 1822procedure clearcontextlegacy; 1823begin 1824RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\SOFTWARE\Classes\*\shell\Add to archive'); 1825RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\*\shell\Add to 7Z'); 1826RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\*\shell\Encrypt (7Z)'); 1827RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\*\shell\Add to 7Z, fastest'); 1828RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\*\shell\Add to 7Z, normal'); 1829RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\*\shell\Add to 7Z, ultra'); 1830RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\*\shell\Add to ZIP'); 1831RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\*\shell\Add to ZIP, fastest'); 1832RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\*\shell\Add to ZIP, normal'); 1833RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\*\shell\Add to ZIP, ultra'); 1834RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\*\shell\Zip and mail'); 1835RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\*\shell\Add to self-extracting archive'); 1836RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\*\shell\Add to separate archive(s)'); 1837RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\*\shell\Add to separate 7Z'); 1838RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\*\shell\Add to separate ZIP'); 1839RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\*\shell\Open as archive'); 1840RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\*\shell\Browse path with PeaZip'); 1841RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\*\shell\Split file'); 1842RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\*\shell\Convert'); 1843RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\*\shell\Secure delete'); 1844RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\*\shell\CRC, hash and file tools'); 1845RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\*\shell\Extract...'); 1846RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\*\shell\Extract here'); 1847RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\*\shell\Extract here (smart new folder)'); 1848RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\*\shell\Extract here (in new folder)'); 1849RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\*\shell\Test archive(s)'); 1850RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\Directory\shell\Add to archive'); 1851RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\Directory\shell\Add to 7Z'); 1852RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\Directory\shell\Encrypt (7Z)'); 1853RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\Directory\shell\Add to 7Z, fastest'); 1854RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\Directory\shell\Add to 7Z, normal'); 1855RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\Directory\shell\Add to 7Z, ultra'); 1856RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\Directory\shell\Add to ZIP'); 1857RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\Directory\shell\Add to ZIP, fastest'); 1858RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\Directory\shell\Add to ZIP, normal'); 1859RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\Directory\shell\Add to ZIP, ultra'); 1860RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\Directory\shell\Zip and mail'); 1861RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\Directory\shell\Add to self-extracting archive'); 1862RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\Directory\shell\Add to separate archive(s)'); 1863RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\Directory\shell\Add to separate 7Z'); 1864RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\Directory\shell\Add to separate ZIP'); 1865RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\Directory\shell\Browse path with PeaZip'); 1866RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\Directory\shell\Split file'); 1867RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\Directory\shell\Convert'); 1868RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\Directory\shell\Secure delete'); 1869RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\Directory\shell\CRC, hash and file tools'); 1870RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\Directory\shell\Extract...'); 1871//local 1872RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\SOFTWARE\Classes\*\shell\Add to archive'); 1873RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\*\shell\Add to 7Z'); 1874RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\*\shell\Encrypt (7Z)'); 1875RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\*\shell\Add to 7Z, fastest'); 1876RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\*\shell\Add to 7Z, normal'); 1877RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\*\shell\Add to 7Z, ultra'); 1878RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\*\shell\Add to ZIP'); 1879RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\*\shell\Add to ZIP, fastest'); 1880RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\*\shell\Add to ZIP, normal'); 1881RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\*\shell\Add to ZIP, ultra'); 1882RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\*\shell\Zip and mail'); 1883RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\*\shell\Add to self-extracting archive'); 1884RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\*\shell\Add to separate archive(s)'); 1885RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\*\shell\Add to separate 7Z'); 1886RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\*\shell\Add to separate ZIP'); 1887RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\*\shell\Open as archive'); 1888RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\*\shell\Browse path with PeaZip'); 1889RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\*\shell\Split file'); 1890RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\*\shell\Convert'); 1891RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\*\shell\Secure delete'); 1892RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\*\shell\CRC, hash and file tools'); 1893RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\*\shell\Extract...'); 1894RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\*\shell\Extract here'); 1895RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\*\shell\Extract here (smart new folder)'); 1896RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\*\shell\Extract here (in new folder)'); 1897RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\*\shell\Test archive(s)'); 1898RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\Directory\shell\Add to archive'); 1899RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\Directory\shell\Add to 7Z'); 1900RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\Directory\shell\Encrypt (7Z)'); 1901RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\Directory\shell\Add to 7Z, fastest'); 1902RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\Directory\shell\Add to 7Z, normal'); 1903RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\Directory\shell\Add to 7Z, ultra'); 1904RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\Directory\shell\Add to ZIP'); 1905RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\Directory\shell\Add to ZIP, fastest'); 1906RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\Directory\shell\Add to ZIP, normal'); 1907RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\Directory\shell\Add to ZIP, ultra'); 1908RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\Directory\shell\Zip and mail'); 1909RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\Directory\shell\Add to self-extracting archive'); 1910RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\Directory\shell\Add to separate archive(s)'); 1911RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\Directory\shell\Add to separate 7Z'); 1912RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\Directory\shell\Add to separate ZIP'); 1913RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\Directory\shell\Browse path with PeaZip'); 1914RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\Directory\shell\Split file'); 1915RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\Directory\shell\Convert'); 1916RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\Directory\shell\Secure delete'); 1917RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\Directory\shell\CRC, hash and file tools'); 1918RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\Directory\shell\Extract...'); 1919//legacy 1920RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\*\shell\Add to .7Z'); 1921RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\*\shell\Add to .7Z, fastest'); 1922RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\*\shell\Add to .7Z, normal'); 1923RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\*\shell\Add to .7Z, ultra'); 1924RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\*\shell\Add to .ZIP'); 1925RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\*\shell\Add to .ZIP, fastest'); 1926RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\*\shell\Add to .ZIP, normal'); 1927RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\*\shell\Add to .ZIP, ultra'); 1928RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\*\shell\Add to separate .7Z'); 1929RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\*\shell\Add to separate .ZIP'); 1930RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\Directory\shell\Add to .7Z'); 1931RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\Directory\shell\Add to .7Z, fastest'); 1932RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\Directory\shell\Add to .7Z, normal'); 1933RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\Directory\shell\Add to .7Z, ultra'); 1934RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\Directory\shell\Add to .ZIP'); 1935RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\Directory\shell\Add to .ZIP, fastest'); 1936RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\Directory\shell\Add to .ZIP, normal'); 1937RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\Directory\shell\Add to .ZIP, ultra'); 1938RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\Directory\shell\Add to separate .7Z'); 1939RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\Directory\shell\Add to separate .ZIP'); 1940RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\*\shell\Add to .7Z'); 1941RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\*\shell\Add to .7Z, fastest'); 1942RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\*\shell\Add to .7Z, normal'); 1943RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\*\shell\Add to .7Z, ultra'); 1944RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\*\shell\Add to .ZIP'); 1945RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\*\shell\Add to .ZIP, fastest'); 1946RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\*\shell\Add to .ZIP, normal'); 1947RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\*\shell\Add to .ZIP, ultra'); 1948RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\*\shell\Add to separate .7Z'); 1949RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\*\shell\Add to separate .ZIP'); 1950RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\Directory\shell\Add to .7Z'); 1951RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\Directory\shell\Add to .7Z, fastest'); 1952RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\Directory\shell\Add to .7Z, normal'); 1953RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\Directory\shell\Add to .7Z, ultra'); 1954RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\Directory\shell\Add to .ZIP'); 1955RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\Directory\shell\Add to .ZIP, fastest'); 1956RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\Directory\shell\Add to .ZIP, normal'); 1957RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\Directory\shell\Add to .ZIP, ultra'); 1958RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\Directory\shell\Add to separate .7Z'); 1959RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\Directory\shell\Add to separate .ZIP'); 1960end; 1961 1962procedure clearcontextseven; 1963var s3264:integer; 1964begin 1965RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\*\shell\PeaZip'); 1966RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\AllFileSystemObjects\shell\PeaZip'); 1967RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\*\shell\PeaZip'); 1968RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\AllFileSystemObjects\shell\PeaZip'); 1969if IsWin64 then s3264:=HKLM64 else s3264:=HKLM32; 1970 RegDeleteKeyIncludingSubkeys(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separate'); 1971 RegDeleteKeyIncludingSubkeys(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separatesingle'); 1972 RegDeleteKeyIncludingSubkeys(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separate7z'); 1973 RegDeleteKeyIncludingSubkeys(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separate7zencrypt'); 1974 RegDeleteKeyIncludingSubkeys(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separate7zfastest'); 1975 RegDeleteKeyIncludingSubkeys(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separate7znormal'); 1976 RegDeleteKeyIncludingSubkeys(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separate7zultra'); 1977 RegDeleteKeyIncludingSubkeys(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separatezip'); 1978 RegDeleteKeyIncludingSubkeys(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separatezipfastest'); 1979 RegDeleteKeyIncludingSubkeys(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separatezipnormal'); 1980 RegDeleteKeyIncludingSubkeys(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separatezipultra'); 1981 RegDeleteKeyIncludingSubkeys(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separatezipmail'); 1982 RegDeleteKeyIncludingSubkeys(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separatesfx'); 1983 RegDeleteKeyIncludingSubkeys(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.ext2browseasarchive'); 1984 RegDeleteKeyIncludingSubkeys(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.ext2browsepath'); 1985 RegDeleteKeyIncludingSubkeys(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2split'); 1986 RegDeleteKeyIncludingSubkeys(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2convert'); 1987 RegDeleteKeyIncludingSubkeys(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2wipe'); 1988 RegDeleteKeyIncludingSubkeys(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.ext2here'); 1989 RegDeleteKeyIncludingSubkeys(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.ext2smart'); 1990 RegDeleteKeyIncludingSubkeys(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.ext2folder'); 1991 RegDeleteKeyIncludingSubkeys(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.ext2main'); 1992 RegDeleteKeyIncludingSubkeys(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.ext2a'); 1993 RegDeleteKeyIncludingSubkeys(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.ext2test'); 1994 RegDeleteKeyIncludingSubkeys(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.analyze'); 1995end; 1996 1997procedure clearassociations; 1998begin 1999if RegKeyExists(HKLM, 'SOFTWARE\Classes\SOFTWARE\PeaZip') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\SOFTWARE\PeaZip'); 2000if RegKeyExists(HKLM, 'SOFTWARE\Classes\SOFTWARE\PeaZip_additional') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\SOFTWARE\PeaZip_additional'); 2001if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.PEA') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.PEA'); 2002if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.001') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.001'); 2003if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.7Z') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.7Z'); 2004if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.XZ') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.XZ'); 2005if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.ARC') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.ARC'); 2006if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.WRC') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.WRC'); 2007if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.BR') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.BR'); 2008if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.ZST') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.ZST'); 2009if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.TZST') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.TZST'); 2010if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.LPAQ1') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.LPAQ1'); 2011if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.LPAQ5') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.LPAQ5'); 2012if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.LPAQ8') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.LPAQ8'); 2013if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.PAQ8F') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.PAQ8F'); 2014if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.PAQ8JD') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.PAQ8JD'); 2015if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.PAQ8L') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.PAQ8L'); 2016if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.PAQ8O') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.PAQ8O'); 2017if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.ZPAQ') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.ZPAQ'); 2018if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.QUAD') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.QUAD'); 2019if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.BALZ') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.BALZ'); 2020if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.BCM') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.BCM'); 2021if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.TAR') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.TAR'); 2022if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.GZ') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.GZ'); 2023if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.TGZ') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.TGZ'); 2024if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.BZ') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.BZ'); 2025if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.BZ2') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.BZ2'); 2026if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.TBZ') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.TBZ'); 2027if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.TBZ2') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.TBZ2'); 2028if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.ZIP') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.ZIP'); 2029if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.ZIPX') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.ZIPX'); 2030if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.ACE') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.ACE'); 2031if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.ARJ') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.ARJ'); 2032if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.CAB') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.CAB'); 2033if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.CPIO') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.CPIO'); 2034if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.Z') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.Z'); 2035if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.TZ') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.TZ'); 2036if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.TAZ') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.TAZ'); 2037if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.ISO') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.ISO'); 2038if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.UDF') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.UDF'); 2039if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.LHA') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.LHA'); 2040if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.DEB') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.DEB'); 2041if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.PET') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.PET'); 2042if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.PUP') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.PUP'); 2043if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.RPM') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.RPM'); 2044if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.SLP') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.SLP'); 2045if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.LZH') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.LZH'); 2046if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.DMG') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.DMG'); 2047if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.HFS') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.HFS'); 2048if RegKeyExists(HKLM, 'SOFTWARE\Classes\PeaZip.RAR') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Classes\PeaZip.RAR'); 2049//local 2050if RegKeyExists(HKCU, 'SOFTWARE\Classes\SOFTWARE\PeaZip') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\SOFTWARE\PeaZip'); 2051if RegKeyExists(HKCU, 'SOFTWARE\Classes\SOFTWARE\PeaZip_additional') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\SOFTWARE\PeaZip_additional'); 2052if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.PEA') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.PEA'); 2053if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.001') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.001'); 2054if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.7Z') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.7Z'); 2055if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.XZ') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.XZ'); 2056if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.ARC') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.ARC'); 2057if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.WRC') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.WRC'); 2058if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.BR') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.BR'); 2059if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.ZST') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.ZST'); 2060if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.TZST') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.TZST'); 2061if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.LPAQ1') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.LPAQ1'); 2062if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.LPAQ5') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.LPAQ5'); 2063if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.LPAQ8') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.LPAQ8'); 2064if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.PAQ8F') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.PAQ8F'); 2065if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.PAQ8JD') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.PAQ8JD'); 2066if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.PAQ8L') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.PAQ8L'); 2067if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.PAQ8O') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.PAQ8O'); 2068if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.ZPAQ') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.ZPAQ'); 2069if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.QUAD') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.QUAD'); 2070if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.BALZ') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.BALZ'); 2071if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.BCM') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.BCM'); 2072if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.TAR') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.TAR'); 2073if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.GZ') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.GZ'); 2074if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.TGZ') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.TGZ'); 2075if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.BZ') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.BZ'); 2076if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.BZ2') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.BZ2'); 2077if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.TBZ') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.TBZ'); 2078if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.TBZ2') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.TBZ2'); 2079if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.ZIP') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.ZIP'); 2080if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.ZIPX') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.ZIPX'); 2081if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.ACE') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.ACE'); 2082if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.ARJ') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.ARJ'); 2083if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.CAB') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.CAB'); 2084if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.CPIO') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.CPIO'); 2085if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.Z') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.Z'); 2086if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.TZ') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.TZ'); 2087if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.TAZ') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.TAZ'); 2088if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.ISO') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.ISO'); 2089if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.UDF') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.UDF'); 2090if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.LHA') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.LHA'); 2091if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.DEB') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.DEB'); 2092if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.PET') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.PET'); 2093if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.PUP') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.PUP'); 2094if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.RPM') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.RPM'); 2095if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.SLP') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.SLP'); 2096if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.LZH') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.LZH'); 2097if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.DMG') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.DMG'); 2098if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.HFS') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.HFS'); 2099if RegKeyExists(HKCU, 'SOFTWARE\Classes\PeaZip.RAR') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Classes\PeaZip.RAR'); 2100end; 2101 2102procedure contextseven; 2103var 2104 s,sfs,sall,smenuadd:ansistring; 2105 s3264:integer; 2106begin 2107 s:=''; 2108 sfs:=''; 2109 sall:=''; 2110 2111 s:=s+'PeaZip.ext2browseasarchive; '; 2112 if cbcontextbrowse.state = cbChecked then s:=s+'PeaZip.ext2browsepath; '; 2113 if cbcontextadd2archive.state = cbChecked then s:=s+'PeaZip.add2separate; '; 2114 if cbcontextadd2archiveseparate.state = cbChecked then s:=s+'PeaZip.add2separatesingle; '; 2115 if cbcontextsfx.state = cbChecked then s:=s+'PeaZip.add2separatesfx; '; 2116 if cbcontext7zs.state = cbChecked then s:=s+'PeaZip.add2separate7z; '; 2117 if checkbox3f.state = cbChecked then s:=s+'PeaZip.add2separate7zfastest; '; 2118 if checkbox3.state = cbChecked then s:=s+'PeaZip.add2separate7zultra; '; 2119 if cbcontextzips.state = cbChecked then s:=s+'PeaZip.add2separatezip; '; 2120 if checkbox4.state = cbChecked then s:=s+'PeaZip.add2separatezipfastest; '; 2121 if cbcontext7zsenc.state = cbChecked then s:=s+'PeaZip.add2separate7zencrypt; '; 2122 if cbcontextzipmail.state = cbChecked then s:=s+'PeaZip.add2separatezipmail; '; 2123 if cbcontextsplit.state = cbChecked then s:=s+'PeaZip.add2split; '; 2124 if cbcontextconvert.state = cbChecked then s:=s+'PeaZip.add2convert; '; 2125 2126 if cbcontextadd2archive.state = cbChecked then smenuadd:='PeaZip.add2separate' 2127 else 2128 if cbcontextadd2archiveseparate.state = cbChecked then smenuadd:='PeaZip.add2separatesingle' 2129 else 2130 if cbcontextsfx.state = cbChecked then smenuadd:='PeaZip.add2separatesfx' 2131 else 2132 if cbcontext7zs.state = cbChecked then smenuadd:='PeaZip.add2separate7z' 2133 else 2134 if checkbox3f.state = cbChecked then smenuadd:='PeaZip.add2separate7zfastest' 2135 else 2136 if checkbox3.state = cbChecked then smenuadd:='PeaZip.add2separate7zultra' 2137 else 2138 if cbcontextzips.state = cbChecked then smenuadd:='PeaZip.add2separatezip' 2139 else 2140 if checkbox4.state = cbChecked then smenuadd:='PeaZip.add2separatezipfastest' 2141 else 2142 if cbcontext7zsenc.state = cbChecked then smenuadd:='PeaZip.add2separate7zencrypt' 2143 else 2144 if cbcontextzipmail.state = cbChecked then smenuadd:='PeaZip.add2separatezipmail' 2145 else 2146 if cbcontextsplit.state = cbChecked then smenuadd:='PeaZip.add2split' 2147 else 2148 if cbcontextconvert.state = cbChecked then smenuadd:='PeaZip.add2convert'; 2149 2150 if cbcontextcrc.state = cbChecked then s:=s+'PeaZip.analyze; '; 2151 if cbcontextwipe.state = cbChecked then s:=s+'PeaZip.add2wipe; '; 2152 2153 sfs:='PeaZip.ext2main; '+s; //AllFileSystemObjects 2154 2155 if cbcontextext.state = cbChecked then sall:=sall+'PeaZip.ext2main; '; 2156 if cbcontextext2here.state = cbChecked then sall:=sall+'PeaZip.ext2here; '; 2157 if cbcontextext2smart.state = cbChecked then sall:=sall+'PeaZip.ext2smart; '; 2158 if cbcontextext2folder.state = cbChecked then sall:=sall+'PeaZip.ext2folder; '; 2159 if cbcontexttest.state = cbChecked then sall:=sall+'PeaZip.ext2test; '; 2160 2161 sall:=sall+s; //* 2162 2163 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\PeaZip', 'SubCommands', sall); 2164 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\PeaZip', 'MultiSelectModel', 'player'); 2165 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\PeaZip', 'Icon', ExpandConstant('"{app}\peazip.exe",0')); 2166 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\PeaZip\command', '', ''); //workaround: in Windows 7 it is not needed a \command key for this type of entry, but some optimization/cleaning utilities (i.e. TuneUp) would otherwise delete all entries in \shell missing a \command key 2167 RegDeleteValue(sLMCU, 'SOFTWARE\Classes\*\shell\PeaZip\command', ''); //the key created for the workaround is emptied to default value, otherwise it may be detected as a defective link by some utilities 2168 2169 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\AllFileSystemObjects\shell\PeaZip', 'SubCommands', sfs); 2170 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\AllFileSystemObjects\shell\PeaZip', 'MultiSelectModel', 'player'); 2171 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\AllFileSystemObjects\shell\PeaZip', 'Icon', ExpandConstant('"{app}\peazip.exe",0')); 2172 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\AllFileSystemObjects\shell\PeaZip\command', '', ''); //workaround: in Windows 7 it is not needed a \command key for this type of entry, but some optimization/cleaning utilities (i.e. TuneUp) would otherwise delete all entries in \shell missing a \command key 2173 RegDeleteValue(sLMCU, 'SOFTWARE\Classes\AllFileSystemObjects\shell\PeaZip\command', ''); //the key created for the workaround is emptied to default value, otherwise it may be detected as a defective link by some utilities 2174 2175 if IsWin64 then s3264:=HKLM64 else s3264:=HKLM32; 2176 2177 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separate', '', '&Add to archive'); 2178 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separate', 'Icon', ExpandConstant('"{app}\res\icons\peazip_seven.icl",2')); 2179 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separate\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multi" "%1"')); 2180 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separatesingle', '', 'Add to separate archive(s)'); 2181 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separatesingle', 'Icon', ExpandConstant('"{app}\res\icons\peazip_seven.icl",2')); 2182 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separatesingle\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multiseparate" "%1"')); 2183 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separate7z', '', 'Add to &7Z'); 2184 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separate7z', 'Icon', ExpandConstant('"{app}\res\icons\peazip_seven.icl",10')); 2185 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separate7z\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multi7z" "%1"')); 2186 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separate7zfastest', '', 'Add to 7Z, fastest'); 2187 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separate7zfastest', 'Icon', ExpandConstant('"{app}\res\icons\peazip_seven.icl",10')); 2188 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separate7zfastest\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multi7zfastest" "%1"')); 2189 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separate7znormal', '', 'Add to 7Z, normal'); 2190 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separate7znormal', 'Icon', ExpandConstant('"{app}\res\icons\peazip_seven.icl",10')); 2191 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separate7znormal\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multi7znormal" "%1"')); 2192 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separate7zfastest', '', 'Add to 7Z, fastest'); 2193 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separate7zfastest', 'Icon', ExpandConstant('"{app}\res\icons\peazip_seven.icl",10')); 2194 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separate7zfastest\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multi7zfastest" "%1"')); 2195 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separate7zultra', '', 'Add to 7Z, ultra'); 2196 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separate7zultra', 'Icon', ExpandConstant('"{app}\res\icons\peazip_seven.icl",10')); 2197 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separate7zultra\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multi7zultra" "%1"')); 2198 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separatezip', '', 'Add to &ZIP'); 2199 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separatezip', 'Icon', ExpandConstant('"{app}\res\icons\peazip_seven.icl",13')); 2200 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separatezip\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multizip" "%1"')); 2201 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separatezipfastest', '', 'Add to ZIP, fastest'); 2202 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separatezipfastest', 'Icon', ExpandConstant('"{app}\res\icons\peazip_seven.icl",13')); 2203 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separatezipfastest\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multizipfastest" "%1"')); 2204 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separatezipnormal', '', 'Add to ZIP, normal'); 2205 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separatezipnormal', 'Icon', ExpandConstant('"{app}\res\icons\peazip_seven.icl",13')); 2206 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separatezipnormal\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multizipnormal" "%1"')); 2207 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separatezipultra', '', 'Add to ZIP, ultra'); 2208 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separatezipultra', 'Icon', ExpandConstant('"{app}\res\icons\peazip_seven.icl",13')); 2209 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separatezipultra\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multizipultra" "%1"')); 2210 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separate7zencrypt', '', 'Encrypt (7Z)'); 2211 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separate7zencrypt', 'Icon', ExpandConstant('"{app}\res\icons\peazip_seven.icl",0')); 2212 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separate7zencrypt\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multi7zencrypt" "%1"')); 2213 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separatezipmail', '', 'Zip and mail'); 2214 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separatezipmail', 'Icon', ExpandConstant('"{app}\res\icons\peazip_seven.icl",3')); 2215 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separatezipmail\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multizipmail" "%1"')); 2216 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separatesfx', '', 'Add to self-extracting archive'); 2217 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separatesfx', 'Icon', ExpandConstant('"{app}\res\icons\peazip_seven.icl",11')); 2218 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2separatesfx\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multisfx" "%1"')); 2219 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.ext2browseasarchive', '', '&Open as archive'); 2220 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.ext2browseasarchive', 'Icon', ExpandConstant('"{app}\peazip.exe",0')); 2221 RegWriteDWordValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.ext2browseasarchive', 'CommandFlags', 32); 2222 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.ext2browseasarchive\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-ext2browseasarchive" "%1"')); 2223 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.ext2browsepath', '', '&Browse path with PeaZip'); 2224 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.ext2browsepath', 'Icon', ExpandConstant('"{app}\res\icons\peazip_seven.icl",8')); 2225 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.ext2browsepath\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-ext2browsepath" "%1"')); 2226 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2split', '', 'Split file'); 2227 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2split', 'Icon', ExpandConstant('"{app}\res\icons\peazip_seven.icl",5')); 2228 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2split\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multisplit" "%1"')); 2229 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2convert', '', 'Convert'); 2230 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2convert', 'Icon', ExpandConstant('"{app}\res\icons\peazip_seven.icl",7')); 2231 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2convert\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multiconvert" "%1"')); 2232 RegWriteDWordValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\'+smenuadd, 'CommandFlags', 32); 2233 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2wipe', '', 'Secure delete'); 2234 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2wipe', 'Icon', ExpandConstant('"{app}\res\icons\peazip_seven.icl",6')); 2235 RegWriteDWordValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2wipe', 'CommandFlags', 32); 2236 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.add2wipe\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2wipe" "%1"')); 2237 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.ext2here', '', 'Extract &here'); 2238 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.ext2here', 'Icon', ExpandConstant('"{app}\res\icons\peazip_seven.icl",4')); 2239 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.ext2here\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-ext2multihere" "%1"')); 2240 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.ext2smart', '', 'Extract here (&smart new folder)'); 2241 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.ext2smart', 'Icon', ExpandConstant('"{app}\res\icons\peazip_seven.icl",4')); 2242 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.ext2smart\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-ext2multismart" "%1"')); 2243 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.ext2folder', '', 'Extract here (in &new folder)'); 2244 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.ext2folder', 'Icon', ExpandConstant('"{app}\res\icons\peazip_seven.icl",4')); 2245 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.ext2folder\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-ext2multifolder" "%1"')); 2246 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.ext2main', '', '&Extract...'); 2247 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.ext2main', 'Icon', ExpandConstant('"{app}\res\icons\peazip_seven.icl",4')); 2248 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.ext2main\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-ext2multi" "%1"')); 2249 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.ext2a', '', 'Extract archives'); 2250 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.ext2a', 'Icon', ExpandConstant('"{app}\res\icons\peazip_seven.icl",4')); 2251 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.ext2a\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-ext2multi" "%1"')); 2252 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.ext2test', '', 'Test archive(s)'); 2253 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.ext2test', 'Icon', ExpandConstant('"{app}\res\icons\peazip_seven.icl",1')); 2254 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.ext2test\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-ext2test" "%1"')); 2255 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.analyze', '', 'CRC, hash and file tools'); 2256 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.analyze', 'Icon', ExpandConstant('"{app}\res\icons\peazip_seven.icl",9')); 2257 RegWriteDWordValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.analyze', 'CommandFlags', 32); 2258 RegWriteStringValue(s3264, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\PeaZip.analyze\command', '', ExpandConstant('"{app}\res\PEA.EXE" "PEAUTILS" "12" "%1"')); 2259 2260end; 2261 2262procedure contextlegacy; 2263begin 2264 2265 if cbcontextadd2archive.state = cbChecked then 2266 begin 2267 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Add to archive\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multi" "%1"')); 2268 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Add to archive', 'MultiSelectModel', 'player'); 2269 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Add to archive', '', '&Add to archive'); 2270 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\Directory\shell\Add to archive\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multi" "%1"')); 2271 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\Directory\shell\Add to archive', 'MultiSelectModel', 'player'); 2272 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\Directory\shell\Add to archive', '', '&Add to archive'); 2273 end; 2274 2275 if cbcontext7zs.state = cbChecked then 2276 begin 2277 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Add to 7Z\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multi7z" "%1"')); 2278 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Add to 7Z', 'MultiSelectModel', 'player'); 2279 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Add to 7Z', '', 'Add to &7Z'); 2280 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\Directory\shell\Add to 7Z\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multi7z" "%1"')); 2281 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\Directory\shell\Add to 7Z', 'MultiSelectModel', 'player'); 2282 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\Directory\shell\Add to 7Z', '', 'Add to &7Z'); 2283 end; 2284 if CheckBox3.state = cbChecked then 2285 begin 2286 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Add to 7Z, fastest\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multi7zfastest" "%1"')); 2287 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Add to 7Z, fastest', 'MultiSelectModel', 'player'); 2288 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\Directory\shell\Add to 7Z, fastest\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multi7zfastest" "%1"')); 2289 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\Directory\shell\Add to 7Z, fastest', 'MultiSelectModel', 'player'); 2290 end; 2291 if CheckBox3.state = cbChecked then 2292 begin 2293 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Add to 7Z, ultra\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multi7zultra" "%1"')); 2294 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Add to 7Z, ultra', 'MultiSelectModel', 'player'); 2295 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\Directory\shell\Add to 7Z, ultra\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multi7zultra" "%1"')); 2296 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\Directory\shell\Add to 7Z, ultra', 'MultiSelectModel', 'player'); 2297 end; 2298 if cbcontextzips.state = cbChecked then 2299 begin 2300 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Add to ZIP\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multizip" "%1"')); 2301 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Add to ZIP', 'MultiSelectModel', 'player'); 2302 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Add to ZIP', '', 'Add to &ZIP'); 2303 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\Directory\shell\Add to ZIP\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multizip" "%1"')); 2304 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\Directory\shell\Add to ZIP', 'MultiSelectModel', 'player'); 2305 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\Directory\shell\Add to ZIP', '', 'Add to &ZIP'); 2306 end; 2307 if CheckBox4.state = cbChecked then 2308 begin 2309 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Add to ZIP, fastest\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multizipfastest" "%1"')); 2310 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Add to ZIP, fastest', 'MultiSelectModel', 'player'); 2311 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\Directory\shell\Add to ZIP, fastest\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multizipfastest" "%1"')); 2312 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\Directory\shell\Add to ZIP, fastest', 'MultiSelectModel', 'player'); 2313 end; 2314 if cbcontext7zsenc.state = cbChecked then 2315 begin 2316 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Encrypt (7Z)\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multi7zencrypt" "%1"')); 2317 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Encrypt (7Z)', 'MultiSelectModel', 'player'); 2318 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\Directory\shell\Encrypt (7Z)\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multi7zencrypt" "%1"')); 2319 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\Directory\shell\Encrypt (7Z)', 'MultiSelectModel', 'player'); 2320 end; 2321 if cbcontextzipmail.state = cbChecked then 2322 begin 2323 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Zip and mail\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multizipmail" "%1"')); 2324 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Zip and mail', 'MultiSelectModel', 'player'); 2325 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\Directory\shell\Zip and mail\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multizipmail" "%1"')); 2326 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\Directory\shell\Zip and mail', 'MultiSelectModel', 'player'); 2327 end; 2328 if cbcontextsfx.state = cbChecked then 2329 begin 2330 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Add to self-extracting archive\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multisfx" "%1"')); 2331 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Add to self-extracting archive', 'MultiSelectModel', 'player'); 2332 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\Directory\shell\Add to self-extracting archive\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multisfx" "%1"')); 2333 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\Directory\shell\Add to self-extracting archive', 'MultiSelectModel', 'player'); 2334 end; 2335 if cbcontextadd2archiveseparate.state = cbChecked then 2336 begin 2337 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Add to separate archive(s)\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multiseparate" "%1"')); 2338 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Add to separate archive(s)', 'MultiSelectModel', 'player'); 2339 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\Directory\shell\Add to separate archive(s)\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multiseparate" "%1"')); 2340 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\Directory\shell\Add to separate archive(s)', 'MultiSelectModel', 'player'); 2341 end; 2342 2343 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Open as archive\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-ext2openasarchive" "%1"')); 2344 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Open as archive', 'MultiSelectModel', 'player'); 2345 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Open as archive', '', '&Open as archive'); 2346 2347 if cbcontextbrowse.state = cbChecked then 2348 begin 2349 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Browse path with PeaZip\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-ext2browsepath" "%1"')); 2350 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Browse path with PeaZip', 'MultiSelectModel', 'player'); 2351 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Browse path with PeaZip', '', '&Browse path with PeaZip'); 2352 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\Directory\shell\Browse path with PeaZip\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-ext2browsepath" "%1"')); 2353 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\Directory\shell\Browse path with PeaZip', 'MultiSelectModel', 'player'); 2354 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\Directory\shell\Browse path with PeaZip', '', '&Browse path with PeaZip'); 2355 end; 2356 2357 if cbcontextcrc.state = cbChecked then 2358 begin 2359 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\CRC, hash and file tools\command', '', ExpandConstant('"{app}\res\PEA.EXE" "PEAUTILS" "12" "%1"')); 2360 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\CRC, hash and file tools', 'MultiSelectModel', 'single'); 2361 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\Directory\shell\CRC, hash and file tools\command', '', ExpandConstant('"{app}\res\PEA.EXE" "PEAUTILS" "12" "%1"')); 2362 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\Directory\shell\CRC, hash and file tools', 'MultiSelectModel', 'single'); 2363 end; 2364 2365 if cbcontextsplit.state = cbChecked then 2366 begin 2367 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Split file\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multisplit" "%1"')); 2368 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Split file', 'MultiSelectModel', 'player'); 2369 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\Directory\shell\Split file\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multisplit" "%1"')); 2370 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\Directory\shell\Split file', 'MultiSelectModel', 'player'); 2371 end; 2372 if cbcontextconvert.state = cbChecked then 2373 begin 2374 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Convert\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multiconvert" "%1"')); 2375 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Convert', 'MultiSelectModel', 'player'); 2376 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\Directory\shell\Convert\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2multiconvert" "%1"')); 2377 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\Directory\shell\Convert', 'MultiSelectModel', 'player'); 2378 end; 2379 if cbcontextwipe.state = cbChecked then 2380 begin 2381 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Secure delete\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2wipe" "%1"')); 2382 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Secure delete', 'MultiSelectModel', 'player'); 2383 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\Directory\shell\Secure delete\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-add2wipe" "%1"')); 2384 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\Directory\shell\Secure delete', 'MultiSelectModel', 'player'); 2385 end; 2386 2387 if cbcontextext2here.state = cbChecked then 2388 begin 2389 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Extract...\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-ext2multi" "%1"')); 2390 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Extract...', 'MultiSelectModel', 'player'); 2391 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Extract...', '', '&Extract...'); 2392 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\Directory\shell\Extract...\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-ext2multi" "%1"')); 2393 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\Directory\shell\Extract...', 'MultiSelectModel', 'player'); 2394 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\Directory\shell\Extract...', '', '&Extract...'); 2395 end; 2396 2397 if cbcontextext2here.state = cbChecked then 2398 begin 2399 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Extract here\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-ext2multihere" "%1"')); 2400 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Extract here', 'MultiSelectModel', 'player'); 2401 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Extract here', '', 'Extract &here'); 2402 end; 2403 if cbcontextext2smart.state = cbChecked then 2404 begin 2405 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Extract here (smart new folder)\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-ext2multismart" "%1"')); 2406 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Extract here (smart new folder)', 'MultiSelectModel', 'player'); 2407 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Extract here (smart new folder)', '', 'Extract here (&smart new folder)'); 2408 end; 2409 if cbcontextext2folder.state = cbChecked then 2410 begin 2411 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Extract here (in new folder)\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-ext2multifolder" "%1"')); 2412 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Extract here (in new folder)', 'MultiSelectModel', 'player'); 2413 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Extract here (in new folder)', '', 'Extract here (in &new folder)'); 2414 end; 2415 if cbcontexttest.state = cbChecked then 2416 begin 2417 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Test archive(s)\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "-ext2test" "%1"')); 2418 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\*\shell\Test archive(s)', 'MultiSelectModel', 'player'); 2419 end; 2420end; 2421 2422procedure dolinks; 2423begin 2424 //link to PeaZip -add2archive: add to generic archive 2425 if cbfunadd.state = cbChecked then 2426 begin 2427 CreateShellLink( 2428 ExpandConstant('{sendto}\Add to archive.lnk'), 2429 'PeaZip archiver, add to archive', 2430 ExpandConstant('{app}\peazip.exe'), 2431 '-add2archive', 2432 '', 2433 ExpandConstant('{app}\res\icons\peazip_seven.icl'),//icon filename 2434 2,//icon index 2435 SW_SHOWNORMAL); 2436 end; 2437 2438 //link to PeaZip -add2convert: convert existing archives 2439 if cbfunconvert.state = cbChecked then 2440 begin 2441 CreateShellLink( 2442 ExpandConstant('{sendto}\Convert.lnk'), 2443 'PeaZip archiver, convert existing archive', 2444 ExpandConstant('{app}\peazip.exe'), 2445 '-add2convert', 2446 '', 2447 ExpandConstant('{app}\res\icons\peazip_seven.icl'),//icon filename 2448 7,//icon index 2449 SW_SHOWNORMAL); 2450 end; 2451 2452 //link to PeaZip -ext2here: extract here 2453 if cbfunext2here.state = cbChecked then 2454 begin 2455 CreateShellLink( 2456 ExpandConstant('{sendto}\Extract here.lnk'), 2457 'PeaZip archiver, extract here', 2458 ExpandConstant('{app}\peazip.exe'), 2459 '-ext2here', 2460 '', 2461 ExpandConstant('{app}\res\icons\peazip_seven.icl'),//icon filename 2462 4,//icon index 2463 SW_SHOWNORMAL); 2464 end; 2465 2466 //link to PeaZip -ext2folder: extract here to new folder 2467 if cbfunext2folder.state = cbChecked then 2468 begin 2469 CreateShellLink( 2470 ExpandConstant('{sendto}\Extract here (in new folder).lnk'), 2471 'PeaZip archiver, extract here to new folder', 2472 ExpandConstant('{app}\peazip.exe'), 2473 '-ext2folder', 2474 '', 2475 ExpandConstant('{app}\res\icons\peazip_seven.icl'),//icon filename 2476 4,//icon index 2477 SW_SHOWNORMAL); 2478 end; 2479 2480 //link to PeaZip -ext2main: extract with options 2481 if cbfunext2to.state = cbChecked then 2482 begin 2483 CreateShellLink( 2484 ExpandConstant('{sendto}\Extract....lnk'), 2485 'PeaZip archiver, extract into specified path', 2486 ExpandConstant('{app}\peazip.exe'), 2487 '-ext2main', 2488 '', 2489 ExpandConstant('{app}\res\icons\peazip_seven.icl'),//icon filename 2490 4,//icon index 2491 SW_SHOWNORMAL); 2492 end; 2493 2494 //link to PeaZip -add27z: add to .7z archive 2495 if cbfun7z.state = cbChecked then 2496 begin 2497 CreateShellLink( 2498 ExpandConstant('{sendto}\Add to .7Z.lnk'), 2499 'PeaZip archiver, add to .7Z archive', 2500 ExpandConstant('{app}\peazip.exe'), 2501 '-add27z', 2502 '', 2503 ExpandConstant('{app}\res\icons\peazip_seven.icl'),//icon filename 2504 10,//icon index 2505 SW_SHOWNORMAL); 2506 end; 2507 2508 //link to PeaZip -add27zmail: add to .7z archive and send by mail 2509 if cbfun7zmail.state = cbChecked then 2510 begin 2511 CreateShellLink( 2512 ExpandConstant('{sendto}\Add to .7Z and send by mail.lnk'), 2513 'PeaZip archiver, add to .7Z archive and send it by mail', 2514 ExpandConstant('{app}\peazip.exe'), 2515 '-add27zmail', 2516 '', 2517 ExpandConstant('{app}\res\icons\peazip_seven.icl'),//icon filename 2518 3,//icon index 2519 SW_SHOWNORMAL); 2520 end; 2521 2522 //link to PeaZip -add2separate7z: add to separate .7z archives 2523 if cbfun7zs.state = cbChecked then 2524 begin 2525 CreateShellLink( 2526 ExpandConstant('{sendto}\Add to separate .7Z.lnk'), 2527 'PeaZip archiver, add to separate .7Z archives', 2528 ExpandConstant('{app}\peazip.exe'), 2529 '-add2separate7z', 2530 '', 2531 ExpandConstant('{app}\res\icons\peazip_seven.icl'),//icon filename 2532 10,//icon index 2533 SW_SHOWNORMAL); 2534 end; 2535 2536 //link to PeaZip -add2zip: add to .zip archive 2537 if cbfunzip.state = cbChecked then 2538 begin 2539 CreateShellLink( 2540 ExpandConstant('{sendto}\Add to .ZIP.lnk'), 2541 'PeaZip archiver, add to .ZIP archive', 2542 ExpandConstant('{app}\peazip.exe'), 2543 '-add2zip', 2544 '', 2545 ExpandConstant('{app}\res\icons\peazip_seven.icl'),//icon filename 2546 13,//icon index 2547 SW_SHOWNORMAL); 2548 end; 2549 2550 //link to PeaZip -add2zipmail: add to .zip archive and send by mail 2551 if cbfunzipmail.state = cbChecked then 2552 begin 2553 CreateShellLink( 2554 ExpandConstant('{sendto}\Add to .ZIP and send by mail.lnk'), 2555 'PeaZip archiver, add to .ZIP archive and send it by mail', 2556 ExpandConstant('{app}\peazip.exe'), 2557 '-add2zipmail', 2558 '', 2559 ExpandConstant('{app}\res\icons\peazip_seven.icl'),//icon filename 2560 3,//icon index 2561 SW_SHOWNORMAL); 2562 end; 2563 2564 //link to PeaZip -add2separatezip: add to separate .zip archives 2565 if cbfunzips.state = cbChecked then 2566 begin 2567 CreateShellLink( 2568 ExpandConstant('{sendto}\Add to separate .ZIP.lnk'), 2569 'PeaZip archiver, add to separate .ZIP archives', 2570 ExpandConstant('{app}\peazip.exe'), 2571 '-add2separatezip', 2572 '', 2573 ExpandConstant('{app}\res\icons\peazip_seven.icl'),//icon filename 2574 13,//icon index 2575 SW_SHOWNORMAL); 2576 end; 2577 2578 //link to PeaZip -add2sfx7z: add to sfx 7z archive 2579 if cbfunsfx.state = cbChecked then 2580 begin 2581 CreateShellLink( 2582 ExpandConstant('{sendto}\Add to self-extracting archive.lnk'), 2583 'PeaZip archiver, add to self extracting .7z archive', 2584 ExpandConstant('{app}\peazip.exe'), 2585 '-add2sfx7z', 2586 '', 2587 ExpandConstant('{app}\res\icons\peazip_seven.icl'),//icon filename 2588 11,//icon index 2589 SW_SHOWNORMAL); 2590 end; 2591 2592 //link to PeaZip -add2sfx7zmail: add to sfx 7z archive and send by mail 2593 if cbfunsfxmail.state = cbChecked then 2594 begin 2595 CreateShellLink( 2596 ExpandConstant('{sendto}\Add to sfx and send by mail.lnk'), 2597 'PeaZip archiver, add to self extracting .7z archive and send it by mail', 2598 ExpandConstant('{app}\peazip.exe'), 2599 '-add2sfx7zmail', 2600 '', 2601 ExpandConstant('{app}\res\icons\peazip_seven.icl'),//icon filename 2602 3,//icon index 2603 SW_SHOWNORMAL); 2604 end; 2605 2606 //link to PeaZip -add2crypt: add to encrypted .pea archive 2607 if cbfunencrypt.state = cbChecked then 2608 begin 2609 CreateShellLink( 2610 ExpandConstant('{sendto}\Encrypt (PEA).lnk'), 2611 'PeaZip archiver, add to encrypted .pea archive', 2612 ExpandConstant('{app}\peazip.exe'), 2613 '-add2crypt', 2614 '', 2615 ExpandConstant('{app}\res\icons\peazip_seven.icl'),//icon filename 2616 0,//icon index 2617 SW_SHOWNORMAL); 2618 end; 2619 2620 //link to PeaZip -add2split: raw file split 2621 if cbfunsplit.state = cbChecked then 2622 begin 2623 CreateShellLink( 2624 ExpandConstant('{sendto}\Split file.lnk'), 2625 'PeaZip archiver, raw split single file', 2626 ExpandConstant('{app}\peazip.exe'), 2627 '-add2split', 2628 '', 2629 ExpandConstant('{app}\res\icons\peazip_seven.icl'),//icon filename 2630 5,//icon index 2631 SW_SHOWNORMAL); 2632 end; 2633 2634 //link to PeaZip -add2wipe: Secure delete 2635 if cbfunwipe.state = cbChecked then 2636 begin 2637 CreateShellLink( 2638 ExpandConstant('{sendto}\Secure delete.lnk'), 2639 'PeaZip archiver, secure delete', 2640 ExpandConstant('{app}\peazip.exe'), 2641 '-add2wipe', 2642 '', 2643 ExpandConstant('{app}\res\icons\peazip_seven.icl'),//icon filename 2644 6,//icon index 2645 SW_SHOWNORMAL); 2646 end; 2647 2648 //link to PeaZip -ext2test: test archive's content 2649 if cbfuntest.state = cbChecked then 2650 begin 2651 CreateShellLink( 2652 ExpandConstant('{sendto}\Test archive(s).lnk'), 2653 'PeaZip archiver, test archive(s)', 2654 ExpandConstant('{app}\peazip.exe'), 2655 '-ext2test', 2656 '', 2657 ExpandConstant('{app}\res\icons\peazip_seven.icl'),//icon filename 2658 1,//icon index 2659 SW_SHOWNORMAL); 2660 end; 2661 2662 //link to PeaZip -ext2openasarchive 2663 if cbfunopen.state = cbChecked then 2664 begin 2665 CreateShellLink( 2666 ExpandConstant('{sendto}\Open as archive.lnk'), 2667 'PeaZip archiver, open as archive', 2668 ExpandConstant('{app}\peazip.exe'), 2669 '-ext2openasarchive', 2670 '', 2671 '',//ExpandConstant('{app}\res\icons\peazip_seven.icl'),//icon filename 2672 1,//icon index 2673 SW_SHOWNORMAL); 2674 end; 2675 2676 //link to PeaZip -ext2browsepath: browse path 2677 if CheckBoxbrowsepath.state = cbChecked then 2678 begin 2679 CreateShellLink( 2680 ExpandConstant('{sendto}\Browse path with PeaZip.lnk'), 2681 'PeaZip archiver, browse path', 2682 ExpandConstant('{app}\peazip.exe'), 2683 '-ext2browsepath', 2684 '', 2685 ExpandConstant('{app}\res\icons\peazip_seven.icl'),//icon filename 2686 8,//icon index 2687 SW_SHOWNORMAL); 2688 end; 2689 2690 //link to PeaZip -ext2commandprompt: open command prompt here 2691 if CheckBoxcommand.state = cbChecked then 2692 begin 2693 CreateShellLink( 2694 ExpandConstant('{sendto}\Open command prompt here.lnk'), 2695 'PeaZip archiver, open command prompt here', 2696 ExpandConstant('{app}\peazip.exe'), 2697 '-ext2commandprompt', 2698 '', 2699 '',//ExpandConstant('{app}\res\icons\peazip_seven.icl'),//icon filename 2700 1,//icon index 2701 SW_SHOWNORMAL); 2702 end; 2703end; 2704 2705procedure doassociations; 2706begin 2707 2708 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.pea', '', 'PeaZip.PEA'); 2709 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.PEA', '', 'PEA archive'); 2710 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.PEA\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP.ICO,0')); 2711 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.PEA\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2712 2713 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.001', '', 'PeaZip.001'); 2714 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.001', '', 'Split file'); 2715 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.001\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP_BLOCK.ICO,0')); 2716 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.001\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2717 2718 if cbfullnone.state = cbUnchecked then 2719 begin 2720 //declare that filetype associations were created 2721 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\SOFTWARE\PeaZip', '', 'Created filetype associations'); 2722 //7z/arc 2723 if cb7z.state = cbChecked then 2724 begin 2725 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\SOFTWARE\PeaZip\7Z', '', 'Associated PeaZip with file type(s)'); 2726 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.7z', '', 'PeaZip.7Z'); 2727 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.7Z', '', '7Z archive'); 2728 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.7Z\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP_7Z.ICO,0')); 2729 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.7Z\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2730 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.xz', '', 'PeaZip.XZ'); 2731 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.XZ', '', 'XZ compressed file'); 2732 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.XZ\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP.ICO,0')); 2733 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.XZ\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2734 end; 2735 //arc/wrc 2736 if cbarc.state = cbChecked then 2737 begin 2738 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\SOFTWARE\PeaZip\ARC', '', 'Associated PeaZip with file type(s)'); 2739 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.arc', '', 'PeaZip.ARC'); 2740 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.ARC', '', 'FreeARC archive'); 2741 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.ARC\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP.ICO,0')); 2742 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.ARC\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2743 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.wrc', '', 'PeaZip.WRC'); 2744 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.WRC', '', 'FreeARC archive'); 2745 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.WRC\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP.ICO,0')); 2746 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.WRC\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2747 end; 2748 //Brotli 2749 if cbbr.state = cbChecked then 2750 begin 2751 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\SOFTWARE\PeaZip\BR', '', 'Associated PeaZip with file type(s)'); 2752 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.br', '', 'PeaZip.BR'); 2753 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.BR', '', 'Brotli compressed file'); 2754 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.BR\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP.ICO,0')); 2755 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.BR\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2756 end; 2757 //Zstandard 2758 if cbzst.state = cbChecked then 2759 begin 2760 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\SOFTWARE\PeaZip\ZST', '', 'Associated PeaZip with file type(s)'); 2761 //ZST 2762 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.zst', '', 'PeaZip.ZST'); 2763 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.ZST', '', 'Zstandard compressed file'); 2764 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.ZST\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP.ICO,0')); 2765 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.ZST\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2766 //TZST 2767 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.tzst', '', 'PeaZip.TZST'); 2768 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.TZST', '', 'Zstandard compressed TAR archive'); 2769 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.TZST\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP.ICO,0')); 2770 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.TZST\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2771 end; 2772 //*PAQ group 2773 if cbpaq8.state = cbChecked then 2774 begin 2775 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\SOFTWARE\PeaZip\PAQ', '', 'Associated PeaZip with file type(s)'); 2776 //LPAQ1 2777 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.lpaq1', '', 'PeaZip.LPAQ1'); 2778 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.LPAQ1', '', 'LPAQ1 compressed file'); 2779 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.LPAQ1\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP.ICO,0')); 2780 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.LPAQ1\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2781 //LPAQ5 2782 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.lpaq5', '', 'PeaZip.LPAQ5'); 2783 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.LPAQ5', '', 'LPAQ5 compressed file'); 2784 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.LPAQ5\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP.ICO,0')); 2785 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.LPAQ5\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2786 //LPAQ8 2787 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.lpaq8', '', 'PeaZip.LPAQ8'); 2788 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.LPAQ8', '', 'LPAQ8 compressed file'); 2789 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.LPAQ8\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP.ICO,0')); 2790 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.LPAQ8\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2791 //PAQ8F 2792 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.paq8f', '', 'PeaZip.PAQ8F'); 2793 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.PAQ8F', '', 'PAQ8F archive'); 2794 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.PAQ8F\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP.ICO,0')); 2795 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.PAQ8F\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2796 //PAQ8JD 2797 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.paq8jd', '', 'PeaZip.PAQ8JD'); 2798 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.PAQ8JD', '', 'PAQ8JD archive'); 2799 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.PAQ8JD\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP.ICO,0')); 2800 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.PAQ8JD\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2801 //PAQ8L 2802 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.paq8l', '', 'PeaZip.PAQ8L'); 2803 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.PAQ8L', '', 'PAQ8L archive'); 2804 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.PAQ8L\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP.ICO,0')); 2805 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.PAQ8L\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2806 //PAQ8O 2807 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.paq8o', '', 'PeaZip.PAQ8O'); 2808 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.PAQ8O', '', 'PAQ8O archive'); 2809 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.PAQ8O\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP.ICO,0')); 2810 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.PAQ8O\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2811 //ZPAQ 2812 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.zpaq', '', 'PeaZip.ZPAQ'); 2813 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.ZPAQ', '', 'ZPAQ archive'); 2814 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.ZPAQ\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP.ICO,0')); 2815 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.ZPAQ\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2816 end; 2817 if cbquad.state = cbChecked then 2818 begin 2819 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\SOFTWARE\PeaZip\QUAD', '', 'Associated PeaZip with file type(s)'); 2820 //QUAD 2821 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.quad', '', 'PeaZip.QUAD'); 2822 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.QUAD', '', 'QUAD compressed file'); 2823 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.QUAD\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP.ICO,0')); 2824 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.QUAD\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2825 //BALZ 2826 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.balz', '', 'PeaZip.BALZ'); 2827 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.BALZ', '', 'BALZ compressed file'); 2828 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.BALZ\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP.ICO,0')); 2829 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.BALZ\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2830 //BCM 2831 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.bcm', '', 'PeaZip.BCM'); 2832 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.BCM', '', 'BCM compressed file'); 2833 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.BCM\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP.ICO,0')); 2834 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.BCM\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2835 end; 2836 //Tar 2837 if cbtar.state = cbChecked then 2838 begin 2839 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\SOFTWARE\PeaZip\TAR', '', 'Associated PeaZip with file type(s)'); 2840 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.tar', '', 'PeaZip.TAR'); 2841 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.TAR', '', 'TAR archive'); 2842 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.TAR\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP.ICO,0')); 2843 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.TAR\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2844 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\SOFTWARE\PeaZip\GZ', '', 'Associated PeaZip with file type(s)'); 2845 //GZ 2846 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.gz', '', 'PeaZip.GZ'); 2847 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.GZ', '', 'GZip compressed file'); 2848 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.GZ\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP.ICO,0')); 2849 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.GZ\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2850 //TGZ 2851 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.tgz', '', 'PeaZip.TGZ'); 2852 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.TGZ', '', 'GZip compressed TAR archive'); 2853 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.TGZ\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP.ICO,0')); 2854 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.TGZ\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2855 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\SOFTWARE\PeaZip\BZ2', '', 'Associated PeaZip with file type(s)'); 2856 //BZ 2857 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.bz', '', 'PeaZip.BZ'); 2858 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.BZ', '', 'BZip2 compressed file'); 2859 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.BZ\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP.ICO,0')); 2860 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.BZ\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2861 //BZ2 2862 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.bz2', '', 'PeaZip.BZ2'); 2863 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.BZ2', '', 'BZip2 compressed file'); 2864 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.BZ2\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP.ICO,0')); 2865 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.BZ2\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2866 //TBZ 2867 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.tbz', '', 'PeaZip.TBZ'); 2868 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.TBZ', '', 'BZip2 compressed TAR archive'); 2869 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.TBZ\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP.ICO,0')); 2870 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.TBZ\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2871 //TBZ2 2872 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.tbz2', '', 'PeaZip.TBZ2'); 2873 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.TBZ2', '', 'BZip2 compressed TAR archive'); 2874 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.TBZ2\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP.ICO,0')); 2875 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.TBZ2\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2876 end; 2877 //Zip 2878 if cbzip.state = cbChecked then 2879 begin 2880 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\SOFTWARE\PeaZip\ZIP', '', 'Associated PeaZip with file type(s)'); 2881 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.zip', '', 'PeaZip.ZIP'); 2882 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.ZIP', '', 'ZIP archive'); 2883 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.ZIP\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP_ZIP.ICO,0')); 2884 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.ZIP\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2885 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\SOFTWARE\PeaZip\ZIPX', '', 'Associated PeaZip with file type(s)'); 2886 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.zipx', '', 'PeaZip.ZIPX'); 2887 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.ZIPX', '', 'ZIPX archive'); 2888 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.ZIPX\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP_ZIP.ICO,0')); 2889 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.ZIPX\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2890 end; 2891 end; 2892 if cbreadnone.state = cbUnchecked then 2893 begin //associate types with browse/extract only support 2894 //declare that additional filetype associations were created 2895 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\SOFTWARE\PeaZip_additional', '', 'Created additional filetype associations'); 2896 //ACE 2897 if cbace.state = cbChecked then 2898 begin 2899 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\SOFTWARE\PeaZip_additional\ACE', '', 'Associated PeaZip with file type(s)'); 2900 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.ACE', '', 'PeaZip.ACE'); 2901 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.ACE', '', 'ACE archive'); 2902 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.ACE\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP.ICO,0')); 2903 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.ACE\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2904 end; 2905 //ARJ 2906 if cbarj.state = cbChecked then 2907 begin 2908 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\SOFTWARE\PeaZip_additional\ARJ', '', 'Associated PeaZip with file type(s)'); 2909 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.ARJ', '', 'PeaZip.ARJ'); 2910 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.ARJ', '', 'ARJ archive'); 2911 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.ARJ\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP.ICO,0')); 2912 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.ARJ\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2913 end; 2914 //CAB 2915 if cbcab.state = cbChecked then 2916 begin 2917 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\SOFTWARE\PeaZip_additional\CAB', '', 'Associated PeaZip with file type(s)'); 2918 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.CAB', '', 'PeaZip.CAB'); 2919 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.CAB', '', 'CAB archive'); 2920 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.CAB\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP.ICO,0')); 2921 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.CAB\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2922 end; 2923 //CPIO 2924 if cbcpio.state = cbChecked then 2925 begin 2926 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\SOFTWARE\PeaZip_additional\CPIO', '', 'Associated PeaZip with file type(s)'); 2927 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.CPIO', '', 'PeaZip.CPIO'); 2928 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.CPIO', '', 'CPIO archive'); 2929 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.CPIO\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP.ICO,0')); 2930 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.CPIO\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2931 //Z 2932 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.Z', '', 'PeaZip.Z'); 2933 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.Z', '', 'Z compressed file'); 2934 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.Z\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP.ICO,0')); 2935 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.Z\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2936 //TZ 2937 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.tz', '', 'PeaZip.TZ'); 2938 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.TZ', '', 'Z compressed TAR archive'); 2939 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.TZ\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP.ICO,0')); 2940 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.TZ\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2941 //TZ 2942 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.taz', '', 'PeaZip.TAZ'); 2943 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.TAZ', '', 'Z compressed TAR archive'); 2944 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.TAZ\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP.ICO,0')); 2945 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.TAZ\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2946 end; 2947 //Disk images 2948 if cbiso.state = cbChecked then 2949 begin 2950 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\SOFTWARE\PeaZip_additional\ISO', '', 'Associated PeaZip with file type(s)'); 2951 //ISO 2952 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.ISO', '', 'PeaZip.ISO'); 2953 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.ISO', '', 'ISO disk image'); 2954 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.ISO\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP_CD.ICO,0')); 2955 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.ISO\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2956 //UDF 2957 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.UDF', '', 'PeaZip.UDF'); 2958 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.UDF', '', 'UDF disk image'); 2959 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.UDF\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP_CD.ICO,0')); 2960 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.UDF\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2961 end; 2962 //LHA 2963 if cblha.state = cbChecked then 2964 begin 2965 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\SOFTWARE\PeaZip_additional\LHA', '', 'Associated PeaZip with file type(s)'); 2966 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.LHA', '', 'PeaZip.LHA'); 2967 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.LHA', '', 'LHA archive'); 2968 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.LHA\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP.ICO,0')); 2969 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.LHA\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2970 end; 2971 //Linux packages (DEB, RPM, PET/PUP) 2972 if cblinux.state = cbChecked then 2973 begin 2974 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\SOFTWARE\PeaZip_additional\linux', '', 'Associated PeaZip with file type(s)'); 2975 //DEB 2976 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.DEB', '', 'PeaZip.DEB'); 2977 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.DEB', '', 'DEB package'); 2978 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.DEB\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP_PACKAGE.ICO,0')); 2979 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.DEB\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2980 //PET 2981 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.PET', '', 'PeaZip.PET'); 2982 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.PET', '', 'PET package (Puppy Linux)'); 2983 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.PET\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP_PACKAGE.ICO,0')); 2984 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.PET\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2985 //PUP 2986 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.PUP', '', 'PeaZip.PUP'); 2987 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.PUP', '', 'PUP package (Puppy Linux)'); 2988 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.PUP\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP_PACKAGE.ICO,0')); 2989 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.PUP\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2990 //RPM 2991 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.RPM', '', 'PeaZip.RPM'); 2992 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.RPM', '', 'RPM package'); 2993 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.RPM\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP_PACKAGE.ICO,0')); 2994 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.RPM\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 2995 //SLP 2996 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.SLP', '', 'PeaZip.SLP'); 2997 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.SLP', '', 'SLP package'); 2998 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.SLP\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP_PACKAGE.ICO,0')); 2999 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.SLP\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 3000 end; 3001 //LZH 3002 if cblzh.state = cbChecked then 3003 begin 3004 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\SOFTWARE\PeaZip_additional\LZH', '', 'Associated PeaZip with file type(s)'); 3005 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.LZH', '', 'PeaZip.LZH'); 3006 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.LZH', '', 'LZH archive'); 3007 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.LZH\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP.ICO,0')); 3008 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.LZH\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 3009 end; 3010 //Mac formats (DMG, HFS) 3011 if cbMac.state = cbChecked then 3012 begin 3013 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\SOFTWARE\PeaZip_additional\mac', '', 'Associated PeaZip with file type(s)'); 3014 //DMG 3015 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.DMG', '', 'PeaZip.DMG'); 3016 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.DMG', '', 'DMG package'); 3017 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.DMG\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP_PACKAGE.ICO,0')); 3018 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.DMG\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 3019 //UDF 3020 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.HFS', '', 'PeaZip.HFS'); 3021 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.HFS', '', 'UDF package'); 3022 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.HFS\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP_PACKAGE.ICO,0')); 3023 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.HFS\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 3024 end; 3025 //RAR 3026 if cbrar.state = cbChecked then 3027 begin 3028 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\SOFTWARE\PeaZip_additional\RAR', '', 'Associated PeaZip with file type(s)'); 3029 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\.RAR', '', 'PeaZip.RAR'); 3030 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.RAR', '', 'RAR archive'); 3031 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.RAR\DefaultIcon', '', ExpandConstant('{app}\RES\ICONS\PEAZIP_RAR.ICO,0')); 3032 RegWriteStringValue(sLMCU, 'SOFTWARE\Classes\PeaZip.RAR\shell\open\command', '', ExpandConstant('"{app}\PEAZIP.EXE" "%1"')); 3033 end; 3034 end; 3035end; 3036 3037function NextButtonClick(CurPageID: Integer): Boolean; 3038var 3039 ResultCode: Integer; 3040 ErrorCode: Integer; 3041begin 3042 3043if CurPageID = wpReady then 3044 begin 3045 3046 if cbinstallcu.Checked = False then sLMCU:=HKLM 3047 else sLMCU:=HKCU; 3048 3049 if (radiobuttoninstall4.Checked = False) then //only for installers 3050 begin 3051 clearcontextlegacy; 3052 clearcontextseven; 3053 clearlinks; 3054 clearassociations; 3055 BringToFrontAndRestore(); 3056 3057 if (radiobuttoninstall3.Checked = False) then 3058 begin 3059 //context menu 3060 if cbcontextnone.state = cbUnchecked then 3061 if (GetWindowsVersion >= $06010000) then 3062 if cbcascaded.state = cbChecked then contextseven 3063 else contextlegacy 3064 else contextlegacy; 3065 //sendto menu 3066 if cbfunnone.state = cbUnchecked then dolinks; 3067 //associations 3068 doassociations; 3069 end; 3070 3071 end; 3072 3073 try 3074 if cbreset.checked=true then 3075 if (GetWindowsVersion >= $06000000) then ShellExecAsOriginalUser('', ExpandConstant('{app}\peazip.exe'), '-peaziptotalreset', '', SW_SHOW, ewWaitUntilTerminated, ErrorCode); 3076 except end; 3077 3078 BringToFrontAndRestore(); 3079 end; 3080Result := True; 3081end; 3082 3083procedure dolanguage; 3084var 3085 ErrorCode: Integer; 3086 slang:string; 3087begin 3088case combobox1.itemindex of 3089 0: slang:='ar.txt'; 3090 1: slang:='bg.txt'; 3091 2: slang:='by-cr.txt'; 3092 3: slang:='by-lt.txt'; 3093 4: slang:='chs.txt'; 3094 5: slang:='cht.txt'; 3095 6: slang:='cz.txt'; 3096 7: slang:='de-uml.txt'; 3097 8: slang:='de-uml-alt.txt'; 3098 9: slang:='*nochange';//do not change 3099 10: slang:='en.txt'; 3100 11: slang:='en-gb.txt'; 3101 12: slang:='es-es.txt'; 3102 13: slang:='es-la.txt'; 3103 14: slang:='eu.txt'; 3104 15: slang:='fi.txt'; 3105 16: slang:='fr.txt'; 3106 17: slang:='gl.txt'; 3107 18: slang:='gr.txt'; 3108 19: slang:='hu.txt'; 3109 20: slang:='id.txt'; 3110 21: slang:='it.txt'; 3111 22: slang:='ja.txt'; 3112 23: slang:='ko.txt'; 3113 24: slang:='nl.txt'; 3114 25: slang:='no.txt'; 3115 26: slang:='pl.txt'; 3116 27: slang:='pt-br.txt'; 3117 28: slang:='pt-pt.txt'; 3118 29: slang:='ro.txt'; 3119 30: slang:='ru.txt'; 3120 31: slang:='si.txt'; 3121 32: slang:='sk.txt'; 3122 33: slang:='sl.txt'; 3123 34: slang:='sv.txt'; 3124 35: slang:='tj.txt'; 3125 36: slang:='tr.txt'; 3126 37: slang:='uk.txt'; 3127 38: slang:='uz.txt'; 3128 39: slang:='vn.txt'; 3129 else slang:=''; 3130end; 3131if slang<>'' then 3132 if (GetWindowsVersion >= $06000000) then ShellExec('', ExpandConstant('{app}\peazip.exe'), '-peaziplanguage '+slang, '', SW_SHOW, ewWaitUntilTerminated, ErrorCode); 3133end; 3134 3135procedure CurStepChanged(CurStep: TSetupStep); 3136begin 3137if CurStep=ssPostInstall then 3138 begin 3139 dolanguage; 3140 end; 3141end; 3142 3143procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); 3144begin 3145if CurUninstallStep = usDone then 3146 begin 3147 clearlinks; //delete links 3148 clearcontextlegacy; 3149 clearcontextseven; //delete context menu items 3150 clearassociations; //don't delete classes root values, as recommended by guidelines for managing file associations 3151 BringToFrontAndRestore(); 3152 end; 3153end;