diff --git a/src/inst-gpa.nsi b/src/inst-gpa.nsi index 8a76bf64..e2c5ef7a 100644 --- a/src/inst-gpa.nsi +++ b/src/inst-gpa.nsi @@ -1,89 +1,194 @@ # inst-gpa.nsi - Installer snippet for gpa. -*- coding: latin-1; -*- # Copyright (C) 2005, 2008 g10 Code GmbH # # This file is part of GPG4Win. # # GPG4Win is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GPG4Win is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA !ifdef prefix !undef prefix !endif !define prefix ${ipdir}/gpa-${gpg4win_pkg_gpa_version} !ifdef GPG4WIN_VANILLA ${MementoUnselectedSection} "GPA" SEC_gpa !else !ifdef GPG4WIN_LIGHT ${MementoSection} "GPA" SEC_gpa !else ${MementoUnselectedSection} "GPA" SEC_gpa !endif !endif SetOutPath "$INSTDIR" !ifdef SOURCES File "${gpg4win_pkg_gpa}" !else SetOutPath "$INSTDIR\bin" File ${prefix}/bin/gpa.exe File ${ipdir}/pinentry-${gpg4win_pkg_pinentry_version}/bin/pinentry-gtk-2.exe SetOutPath "$INSTDIR\share\locale\de\LC_MESSAGES" File ${prefix}/share/locale/de/LC_MESSAGES/gpa.mo SetOutPath "$INSTDIR\share\locale\ar\LC_MESSAGES" File ${prefix}/share/locale/ar/LC_MESSAGES/gpa.mo SetOutPath "$INSTDIR\share\locale\es\LC_MESSAGES" File ${prefix}/share/locale/es/LC_MESSAGES/gpa.mo SetOutPath "$INSTDIR\share\locale\fr\LC_MESSAGES" File ${prefix}/share/locale/fr/LC_MESSAGES/gpa.mo SetOutPath "$INSTDIR\share\locale\ru\LC_MESSAGES" File ${prefix}/share/locale/ru/LC_MESSAGES/gpa.mo SetOutPath "$INSTDIR\share\gpa" File /nonfatal ${prefix}/share/gpa/gpa-logo.ppm File ${prefix}/share/gpa/gpa.png # If requested, install the configuration files. ReadRegStr $0 HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" AppData StrCmp $0 "" no_config_gpa_files CreateDirectory "$0\gnupg" g4wihelp::config_fetch "gpa.conf" StrCmp $R0 "" no_config_gpa_conf CopyFiles $R0 "$0\gnupg\gpa.conf" no_config_gpa_conf: no_config_gpa_files: WriteRegStr SHCTX "Software\Gpg4win\gpa\Capabilities" "ApplicationDescription" "$(DESC_SEC_gpa)" WriteRegStr SHCTX "Software\Gpg4win\gpa\Capabilities" "ApplicationIcon" "$INSTDIR\bin\gpa.exe,0" WriteRegStr SHCTX "Software\Gpg4win\gpa\Capabilities" "ApplicationName" "$(DESC_SEC_gpa)" + SetOutPath "$INSTDIR\share\gpg4win" + File "file-ext.ico" + + # .gpg + WriteRegExpandStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.GPG\shell\open\command" "" "$\"$INSTDIR\bin\GPA.exe$\" $\"%1$\"" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.GPG" "" "$(T_File_Type_gpg_Name)" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.GPG" "FriendlyTypeName" "$(T_File_Type_gpg_Name)" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.GPG" "PercievedType" "Document" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.GPG" "InfoTip" "$(T_File_Type_info_tip)" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.GPG\CurVer" "" "${VERSION}" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.GPG\DefaultIcon" "" "$INSTDIR\share\gpg4win\file-ext.ico" + + WriteRegBin SHCTX "Software\Classes\.gpg\OpenWithProgIDs" "gpg4win.AssocFile.GPA.GPG" 0 + + # .asc + WriteRegExpandStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.ASC\shell\open\command" "" "$\"$INSTDIR\bin\GPA.exe$\" $\"%1$\"" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.ASC" "" "$(T_File_Type_asc_Name)" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.ASC" "FriendlyTypeName" "$(T_File_Type_asc_Name)" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.ASC" "PercievedType" "Document" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.ASC" "InfoTip" "$(T_File_Type_info_tip)" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.ASC\CurVer" "" "${VERSION}" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.ASC\DefaultIcon" "" "$INSTDIR\share\gpg4win\file-ext.ico" + WriteRegBin SHCTX "Software\Classes\.asc\OpenWithProgIDs" "gpg4win.AssocFile.GPA.ASC" 0 + + # .pgp + WriteRegBin SHCTX "Software\Classes\.pgp\OpenWithProgIDs" "gpg4win.AssocFile.GPA.GPG" 0 + + # .sig + WriteRegExpandStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.PGPSIG\shell\open\command" "" "$\"$INSTDIR\bin\GPA.exe$\" $\"%1$\"" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.PGPSIG" "" "$(T_File_Type_sig_Name)" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.PGPSIG" "FriendlyTypeName" "$(T_File_Type_sig_Name)" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.PGPSIG" "PercievedType" "Document" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.PGPSIG" "InfoTip" "$(T_File_Type_sig_info_tip)" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.PGPSIG\CurVer" "" "${VERSION}" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.PGPSIG\DefaultIcon" "" "$INSTDIR\share\gpg4win\file-ext.ico" + + WriteRegBin SHCTX "Software\Classes\.sig\OpenWithProgIDs" "gpg4win.AssocFile.GPA.PGPSIG" 0 + + # OpenPGP Key to be used in mime registry + WriteRegExpandStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.PGPKEY\shell\open\command" "" "$\"$INSTDIR\bin\GPA.exe$\" $\"%1$\"" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.PGPKEY" "" "$(T_File_Type_pgp_key_Name)" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.PGPKEY" "FriendlyTypeName" "$(T_File_Type_pgp_key_Name)" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.PGPKEY" "PercievedType" "Document" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.PGPKEY" "InfoTip" "$(T_File_Type_pgp_key_info_tip)" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.PGPKEY\CurVer" "" "${VERSION}" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.PGPKEY\DefaultIcon" "" "$INSTDIR\share\gpg4win\file-ext.ico" + + # CMS + WriteRegExpandStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.CMS\shell\open\command" "" "$\"$INSTDIR\bin\GPA.exe$\" $\"%1$\"" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.CMS" "" "$(T_File_Type_pem_Name)" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.CMS" "FriendlyTypeName" "$(T_File_Type_pem_Name)" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.CMS" "PercievedType" "Document" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.CMS" "InfoTip" "$(T_File_Type_info_tip)" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.CMS\CurVer" "" "${VERSION}" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.CMS\DefaultIcon" "" "$INSTDIR\share\gpg4win\file-ext.ico" + + WriteRegBin SHCTX "Software\Classes\.p7s\OpenWithProgIDs" "gpg4win.AssocFile.GPA.CMS" 0 + WriteRegBin SHCTX "Software\Classes\.p7m\OpenWithProgIDs" "gpg4win.AssocFile.GPA.CMS" 0 + WriteRegBin SHCTX "Software\Classes\.crl\OpenWithProgIDs" "gpg4win.AssocFile.GPA.CMS" 0 + WriteRegBin SHCTX "Software\Classes\.pem\OpenWithProgIDs" "gpg4win.AssocFile.GPA.CMS" 0 + WriteRegBin SHCTX "Software\Classes\.arl\OpenWithProgIDs" "gpg4win.AssocFile.GPA.CMS" 0 + + # X509 Certificates + WriteRegExpandStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.X509\shell\open\command" "" "$\"$INSTDIR\bin\GPA.exe$\" $\"%1$\"" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.X509" "FriendlyTypeName" "$(T_File_Type_x509_Name)" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.X509" "PercievedType" "Document" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.X509" "InfoTip" "$(T_File_Type_x509_info_tip)" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.X509\CurVer" "" "${VERSION}" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.GPA.X509\DefaultIcon" "" "$INSTDIR\share\gpg4win\file-ext.ico" + WriteRegBin SHCTX "Software\Classes\gpg4win.AssocFile.GPA.X509" "AllowSilentDefaultTakeOver" 0 + + # Register capabilities + WriteRegStr SHCTX "Software\RegisteredApplications" "Gpg4win.GPA" "SOFTWARE\Gpg4win\GPA\Capabilities" + WriteRegStr SHCTX "Software\Gpg4win\GPA" "" "GPA" + + # File extensions + WriteRegStr SHCTX "Software\Gpg4win\GPA\Capabilities\FileAssociations" ".pgp" "gpg4win.AssocFile.GPA.GPG" + WriteRegStr SHCTX "Software\Gpg4win\GPA\Capabilities\FileAssociations" ".asc" "gpg4win.AssocFile.GPA.ASC" + WriteRegStr SHCTX "Software\Gpg4win\GPA\Capabilities\FileAssociations" ".gpg" "gpg4win.AssocFile.GPA.GPG" + WriteRegStr SHCTX "Software\Gpg4win\GPA\Capabilities\FileAssociations" ".cer" "gpg4win.AssocFile.GPA.X509" + WriteRegStr SHCTX "Software\Gpg4win\GPA\Capabilities\FileAssociations" ".p10" "gpg4win.AssocFile.GPA.X509" + WriteRegStr SHCTX "Software\Gpg4win\GPA\Capabilities\FileAssociations" ".p12" "gpg4win.AssocFile.GPA.X509" + WriteRegStr SHCTX "Software\Gpg4win\GPA\Capabilities\FileAssociations" ".p7c" "gpg4win.AssocFile.GPA.X509" + WriteRegStr SHCTX "Software\Gpg4win\GPA\Capabilities\FileAssociations" ".pfx" "gpg4win.AssocFile.GPA.X509" + WriteRegStr SHCTX "Software\Gpg4win\GPA\Capabilities\FileAssociations" ".crt" "gpg4win.AssocFile.GPA.X509" + WriteRegStr SHCTX "Software\Gpg4win\GPA\Capabilities\FileAssociations" ".der" "gpg4win.AssocFile.GPA.X509" + WriteRegStr SHCTX "Software\Gpg4win\GPA\Capabilities\FileAssociations" ".sig" "gpg4win.AssocFile.GPA.PGPSIG" + WriteRegStr SHCTX "Software\Gpg4win\GPA\Capabilities\FileAssociations" ".arl" "gpg4win.AssocFile.GPA.CMS" + WriteRegStr SHCTX "Software\Gpg4win\GPA\Capabilities\FileAssociations" ".crl" "gpg4win.AssocFile.GPA.CMS" + WriteRegStr SHCTX "Software\Gpg4win\GPA\Capabilities\FileAssociations" ".p7m" "gpg4win.AssocFile.GPA.CMS" + WriteRegStr SHCTX "Software\Gpg4win\GPA\Capabilities\FileAssociations" ".p7s" "gpg4win.AssocFile.GPA.CMS" + WriteRegStr SHCTX "Software\Gpg4win\GPA\Capabilities\FileAssociations" ".pem" "gpg4win.AssocFile.GPA.CMS" + + WriteRegExpandStr SHCTX "Software\Gpg4win\GPA\Capabilities\shell\open\command" "" "$\"$INSTDIR\bin\GPA.exe$\" $\"%1$\"" + + # Mime extensions For PGP this is probably pretty useless + WriteRegStr SHCTX "Software\Gpg4win\GPA\Capabilities\MimeAssociations" "application/pgp" "gpg4win.AssocFile.GPA.GPG" + WriteRegStr SHCTX "Software\Gpg4win\GPA\Capabilities\MimeAssociations" "application/pgp-keys" "gpg4win.AssocFile.GPA.PGPKEY" + WriteRegStr SHCTX "Software\Gpg4win\GPA\Capabilities\MimeAssociations" "application/pgp-encrypted" "gpg4win.AssocFile.GPA.GPG" + WriteRegStr SHCTX "Software\Gpg4win\GPA\Capabilities\MimeAssociations" "application/pgp-signature" "gpg4win.AssocFile.GPA.GPG" + WriteRegStr SHCTX "Software\Gpg4win\GPA\Capabilities\MimeAssociations" "application/pkcs7-mime" "gpg4win.AssocFile.GPA.CMS" + WriteRegStr SHCTX "Software\Gpg4win\GPA\Capabilities\MimeAssociations" "application/pkix-cert" "gpg4win.AssocFile.GPA.CMS" + WriteRegStr SHCTX "Software\Gpg4win\GPA\Capabilities\MimeAssociations" "application/x-x509-ca-cert" "gpg4win.AssocFile.GPA.X509" + WriteRegStr SHCTX "Software\Gpg4win\GPA\Capabilities\MimeAssociations" "application/x-pkcs12" "gpg4win.AssocFile.GPA.X509" + !endif ${MementoSectionEnd} LangString DESC_SEC_gpa ${LANG_ENGLISH} \ "GNU Privacy Assistant" LangString DESC_Menu_gpa ${LANG_ENGLISH} \ "Run the GNU Privacy Assistant key management tool." diff --git a/src/inst-kleopatra.nsi b/src/inst-kleopatra.nsi index 614cb316..fefbe0bd 100644 --- a/src/inst-kleopatra.nsi +++ b/src/inst-kleopatra.nsi @@ -1,294 +1,385 @@ # inst-kleopatra.nsi - Installer snippet for kleopatra. -*- coding: latin-1; -*- # Copyright (C) 2005, 2007, 2008 g10 Code GmbH # # This file is part of GPG4Win. # # GPG4Win is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GPG4Win is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA !ifdef prefix !undef prefix !endif !define prefix ${ipdir}/kleopatra-${gpg4win_pkg_kleopatra_version} ${MementoSection} "Kleopatra" SEC_kleopatra SetOutPath "$INSTDIR" !ifdef SOURCES # Kleopatra Source Package also contains kdepimlibs, kdelibs and # kde-runtime, as well as win-iconv and attica File "${gpg4win_pkg_kleopatra}" !else SetOutPath "$INSTDIR\bin" File ${prefix}/bin/kleopatra.exe #File ${prefix}/bin/kwatchgnupg.exe File ${prefix}/bin/libkleopatraclientcore.dll File ${prefix}/bin/libkleopatraclientgui.dll # The KCM lib is directly linked File ${prefix}/lib/plugins/kcm_kleopatra.dll SetOutPath "$INSTDIR\share\kleopatra\pics" File ${prefix}/share/kleopatra/pics/gpg4win.png File ${prefix}/share/kleopatra/pics/kleopatra_splashscreen.png File ${prefix}/share/kleopatra/pics/kleopatra_splashscreen.svgz File ${prefix}/share/kleopatra/pics/kleopatra_wizard.png File ${prefix}/share/kleopatra/pics/kleopatra_wizard.svgz SetOutPath "$INSTDIR\share\kservices5" File ${prefix}/share/kservices5/kleopatra_config_appear.desktop File ${prefix}/share/kservices5/kleopatra_config_gnupgsystem.desktop File ${prefix}/share/kservices5/kleopatra_config_cryptooperations.desktop File ${prefix}/share/kservices5/kleopatra_config_smimevalidation.desktop File ${prefix}/share/kservices5/kleopatra_config_dirserv.desktop # SetOutPath "$INSTDIR\share\apps\kwatchgnupg\pics" # File ${prefix}/share/apps/kwatchgnupg/pics/kwatchgnupg.png # File ${prefix}/share/apps/kwatchgnupg/pics/kwatchgnupg2.png # # TODO Can't mix localized and en commons when we install # # more then one kde langanuage # SetOutPath "$INSTDIR\share\doc\HTML\common" # # File ${prefix}/share/doc/HTML/en/common/1.png # File ${prefix}/share/doc/HTML/en/common/10.png # File ${prefix}/share/doc/HTML/en/common/2.png # File ${prefix}/share/doc/HTML/en/common/3.png # File ${prefix}/share/doc/HTML/en/common/4.png # File ${prefix}/share/doc/HTML/en/common/5.png # File ${prefix}/share/doc/HTML/en/common/6.png # File ${prefix}/share/doc/HTML/en/common/7.png # File ${prefix}/share/doc/HTML/en/common/8.png # File ${prefix}/share/doc/HTML/en/common/9.png # File ${prefix}/share/doc/HTML/en/common/artistic-license.html # File ${prefix}/share/doc/HTML/en/common/block_title_bottom.png # File ${prefix}/share/doc/HTML/en/common/block_title_mid.png # File ${prefix}/share/doc/HTML/en/common/block_title_top.png # File ${prefix}/share/doc/HTML/en/common/bottom-left.png # File ${prefix}/share/doc/HTML/en/common/bottom-middle.png # File ${prefix}/share/doc/HTML/en/common/bottom-right.png # File ${prefix}/share/doc/HTML/en/common/bsd-license.html # File ${prefix}/share/doc/HTML/en/common/doxygen.css # File ${prefix}/share/doc/HTML/en/common/favicon.ico # File ${prefix}/share/doc/HTML/en/common/fdl-license.html # File ${prefix}/share/doc/HTML/en/common/fdl-license # File ${prefix}/share/doc/HTML/en/common/fdl-notice.html # File ${prefix}/share/doc/HTML/en/common/kde-docs.css # File ${prefix}/share/doc/HTML/en/common/footer.html # File ${prefix}/share/doc/HTML/en/common/gpl-license.html # File ${prefix}/share/doc/HTML/en/common/gpl-license # File ${prefix}/share/doc/HTML/en/common/header.html # File ${prefix}/share/doc/HTML/en/common/kde-default.css # File ${prefix}/share/doc/HTML/en/common/kde-docs.css # File ${prefix}/share/doc/HTML/en/common/kde_logo_bg.png # File ${prefix}/share/doc/HTML/en/common/lgpl-license.html # File ${prefix}/share/doc/HTML/en/common/lgpl-license # File ${prefix}/share/doc/HTML/en/common/mainfooter.html # File ${prefix}/share/doc/HTML/en/common/mainheader.html # File ${prefix}/share/doc/HTML/en/common/qpl-license.html # File ${prefix}/share/doc/HTML/en/common/tabs.css # File ${prefix}/share/doc/HTML/en/common/top-kde.jpg # File ${prefix}/share/doc/HTML/en/common/top-left.jpg # File ${prefix}/share/doc/HTML/en/common/top-left.png # File ${prefix}/share/doc/HTML/en/common/top-middle.png # File ${prefix}/share/doc/HTML/en/common/top-right.jpg # File ${prefix}/share/doc/HTML/en/common/top-right.png # File ${prefix}/share/doc/HTML/en/common/top.jpg # File ${prefix}/share/doc/HTML/en/common/x11-license.html # File ${prefix}/share/doc/HTML/en/common/xml.dcl # # File ${prefix}/share/doc/HTML/de/common/fdl-translated.html # File ${prefix}/share/doc/HTML/de/common/gpl-translated.html # File ${prefix}/share/doc/HTML/de/common/kde-localised.css # File ${prefix}/share/doc/HTML/de/common/lgpl-translated.html # # SetOutPath "$INSTDIR\share\doc\HTML\de\kleopatra" # # File ${prefix}/share/doc/HTML/de/kleopatra/admin-archive-definitions.html # File ${prefix}/share/doc/HTML/de/kleopatra/admin-checksum-definitions.html # File ${prefix}/share/doc/HTML/de/kleopatra/admin-key-filters.html # File ${prefix}/share/doc/HTML/de/kleopatra/admin.html # File ${prefix}/share/doc/HTML/de/kleopatra/commandline-options.html # File ${prefix}/share/doc/HTML/de/kleopatra/configuration-appearance.html # File ${prefix}/share/doc/HTML/de/kleopatra/configuration-crypto-operations.html # File ${prefix}/share/doc/HTML/de/kleopatra/configuration-gnupg-system.html # File ${prefix}/share/doc/HTML/de/kleopatra/configuration-smime-validation.html # File ${prefix}/share/doc/HTML/de/kleopatra/configuration.html # File ${prefix}/share/doc/HTML/de/kleopatra/credits-and-license.html # File ${prefix}/share/doc/HTML/de/kleopatra/functions-newkey.html # File ${prefix}/share/doc/HTML/de/kleopatra/functions-search.html # File ${prefix}/share/doc/HTML/de/kleopatra/functions.html # File ${prefix}/share/doc/HTML/de/kleopatra/index.html # File ${prefix}/share/doc/HTML/de/kleopatra/introduction.html # File ${prefix}/share/doc/HTML/de/kleopatra/menu.html # File ${prefix}/share/doc/HTML/de/kleopatra/menucertificates.html # File ${prefix}/share/doc/HTML/de/kleopatra/menuhelp.html # File ${prefix}/share/doc/HTML/de/kleopatra/menusettings.html # File ${prefix}/share/doc/HTML/de/kleopatra/menutools.html # File ${prefix}/share/doc/HTML/de/kleopatra/menuview.html # File ${prefix}/share/doc/HTML/de/kleopatra/menuwindow.html # # SetOutPath "$INSTDIR\share\doc\HTML\en\kleopatra" # # File ${prefix}/share/doc/HTML/en/kleopatra/admin-archive-definitions.html # File ${prefix}/share/doc/HTML/en/kleopatra/admin-checksum-definitions.html # File ${prefix}/share/doc/HTML/en/kleopatra/admin-key-filters.html # File ${prefix}/share/doc/HTML/en/kleopatra/admin.html # File ${prefix}/share/doc/HTML/en/kleopatra/commandline-options.html # File ${prefix}/share/doc/HTML/en/kleopatra/configuration-appearance.html # File ${prefix}/share/doc/HTML/en/kleopatra/configuration-crypto-operations.html # File ${prefix}/share/doc/HTML/en/kleopatra/configuration-gnupg-system.html # File ${prefix}/share/doc/HTML/en/kleopatra/configuration-smime-validation.html # File ${prefix}/share/doc/HTML/en/kleopatra/configuration.html # File ${prefix}/share/doc/HTML/en/kleopatra/credits-and-license.html # File ${prefix}/share/doc/HTML/en/kleopatra/functions-newkey.html # File ${prefix}/share/doc/HTML/en/kleopatra/functions-search.html # File ${prefix}/share/doc/HTML/en/kleopatra/functions.html # File ${prefix}/share/doc/HTML/en/kleopatra/index.html # File ${prefix}/share/doc/HTML/en/kleopatra/introduction.html # File ${prefix}/share/doc/HTML/en/kleopatra/menu.html # File ${prefix}/share/doc/HTML/en/kleopatra/menucertificates.html # File ${prefix}/share/doc/HTML/en/kleopatra/menuhelp.html # File ${prefix}/share/doc/HTML/en/kleopatra/menusettings.html # File ${prefix}/share/doc/HTML/en/kleopatra/menutools.html # File ${prefix}/share/doc/HTML/en/kleopatra/menuview.html # File ${prefix}/share/doc/HTML/en/kleopatra/menuwindow.html SetOutPath "$INSTDIR\share\icons\hicolor\128x128\apps" File ${prefix}/share/icons/hicolor/128x128/apps/kleopatra.png SetOutPath "$INSTDIR\share\icons\hicolor\16x16\apps" File ${prefix}/share/kleopatra/pics/gpg4win-compact.png File ${prefix}/share/icons/hicolor/16x16/apps/kleopatra.png SetOutPath "$INSTDIR\share\icons\hicolor\22x22\apps" File ${prefix}/share/icons/hicolor/22x22/apps/kleopatra.png SetOutPath "$INSTDIR\share\icons\hicolor\256x256\apps" File ${prefix}/share/icons/hicolor/256x256/apps/kleopatra.png SetOutPath "$INSTDIR\share\icons\hicolor\32x32\apps" File ${prefix}/share/icons/hicolor/32x32/apps/kleopatra.png SetOutPath "$INSTDIR\share\icons\hicolor\48x48\apps" File ${prefix}/share/icons/hicolor/48x48/apps/kleopatra.png SetOutPath "$INSTDIR\share\icons\hicolor\64x64\apps" File ${prefix}/share/icons/hicolor/64x64/apps/kleopatra.png SetOutPath "$INSTDIR\share\icons\hicolor" File ${prefix}/share/icons/hicolor/icon-theme.cache File index.theme # In KDE 4.10 the locale detection in kdelibs is broken so we # install a kdeglobals with the language setting chosen in the # installer - push $1 - FileOpen $1 "$INSTDIR\share\kdeglobals" "w" - # Writing out icon theme is important here otherwise you have - # weird effects like no toolbar icons. - FileWrite $1 '[Icons]$\r$\n' - FileWrite $1 'Theme=breeze$\r$\n$\r$\n' - FileClose $1 - pop $1 - + SetOutPath "$INSTDIR\share" + File kdeglobals SetOutPath "$INSTDIR\share\QtProject" - # We want kleopatra logging for debugging - push $1 - FileOpen $1 "$INSTDIR\share\QtProject\qtlogging.ini" "w" - FileWrite $1 '[Rules]$\r$\n' - FileWrite $1 'org.kde.pim.*=true$\r$\n' - FileClose $1 - pop $1 + File qtlogging.ini SetOutPath "$INSTDIR\..\GnuPG\share\doc\gnupg\examples" # Install profiles push $1 FileOpen $1 "$INSTDIR\..\GnuPG\share\doc\gnupg\examples\VS-NfD.prf" "w" FileWrite $1 '# VS-NfD.prf - Configure options for the VS-NfD mode -*- conf -*-$\r$\n' FileWrite $1 '$\r$\n' FileWrite $1 '[gpg]$\r$\n' FileWrite $1 'compliance de-vs$\r$\n' FileWrite $1 'default-new-key-algo rsa3072/cert,sign+rsa3072/encr$\r$\n' FileWrite $1 '$\r$\n' FileWrite $1 '[gpgsm]$\r$\n' FileWrite $1 'enable-crl-checks$\r$\n' FileWrite $1 'compliance de-vs$\r$\n' FileWrite $1 '$\r$\n' FileWrite $1 '[gpg-agent]$\r$\n' FileWrite $1 'enable-extended-key-format$\r$\n' FileWrite $1 'default-cache-ttl 900$\r$\n' FileWrite $1 'max-cache-ttl 3600$\r$\n' FileWrite $1 'no-allow-mark-trusted$\r$\n' FileWrite $1 'no-allow-external-cache$\r$\n' FileWrite $1 'enforce-passphrase-constraints$\r$\n' FileWrite $1 'min-passphrase-len 9$\r$\n' FileWrite $1 'min-passphrase-nonalpha 0$\r$\n' FileWrite $1 '$\r$\n' FileWrite $1 '[dirmngr]$\r$\n' FileWrite $1 'allow-ocsp$\r$\n' FileClose $1 pop $1 push $1 FileOpen $1 "$INSTDIR\..\GnuPG\share\doc\gnupg\examples\Automatic.prf" "w" FileWrite $1 '# Automatic.prf - Configure options for a more automatic mode -*- conf -*-$\r$\n' FileWrite $1 '$\r$\n' FileWrite $1 '[gpg]$\r$\n' FileWrite $1 'auto-key-locate local,wkd,dane$\r$\n' FileWrite $1 'auto-key-retrieve$\r$\n' FileWrite $1 'trust-model tofu+pgp$\r$\n' FileWrite $1 '$\r$\n' FileClose $1 pop $1 WriteRegStr SHCTX "Software\Gpg4win\kleopatra\Capabilities" "ApplicationDescription" "$(DESC_SEC_kleopatra)" WriteRegStr SHCTX "Software\Gpg4win\kleopatra\Capabilities" "ApplicationIcon" "$INSTDIR\bin\kleopatra.exe,0" WriteRegStr SHCTX "Software\Gpg4win\kleopatra\Capabilities" "ApplicationName" "Kleopatra" + SetOutPath "$INSTDIR\share\gpg4win" + File "file-ext.ico" # Openpgp4fpr URI scheme WriteRegStr SHCTX "Software\Classes\openpgp4fpr" "" "URL:OpenPGP master key fingerprint" WriteRegStr SHCTX "Software\Classes\openpgp4fpr" "URL Protocol" "" WriteRegStr SHCTX "Software\Classes\openpgp4fpr\DefaultIcon" "" "$INSTDIR\bin\kleopatra.exe,0" WriteRegStr SHCTX "Software\Classes\openpgp4fpr\shell\open\command" "" "$\"$INSTDIR\bin\kleopatra.exe$\" --query -- $\"%1$\"" # p7s / p7m are special because they are already known WriteRegExpandStr SHCTX "Software\Classes\P7MFile\shell\open\command" "" "$\"$INSTDIR\bin\kleopatra.exe$\" -- $\"%1$\"" WriteRegStr SHCTX "Software\Classes\P7MFile\DefaultIcon" "" "$INSTDIR\share\gpg4win\file-ext.ico" WriteRegExpandStr SHCTX "Software\Classes\P7SFile\shell\open\command" "" "$\"$INSTDIR\bin\kleopatra.exe$\" -- $\"%1$\"" WriteRegStr SHCTX "Software\Classes\P7SFile\DefaultIcon" "" "$INSTDIR\share\gpg4win\file-ext.ico" + # .gpg + WriteRegExpandStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.GPG\shell\open\command" "" "$\"$INSTDIR\bin\Kleopatra.exe$\" $\"%1$\"" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.GPG" "" "$(T_File_Type_gpg_Name)" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.GPG" "FriendlyTypeName" "$(T_File_Type_gpg_Name)" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.GPG" "PercievedType" "Document" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.GPG" "InfoTip" "$(T_File_Type_info_tip)" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.GPG\CurVer" "" "${VERSION}" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.GPG\DefaultIcon" "" "$INSTDIR\share\gpg4win\file-ext.ico" + + WriteRegBin SHCTX "Software\Classes\.gpg\OpenWithProgIDs" "gpg4win.AssocFile.Kleopatra.GPG" 0 + + # .asc + WriteRegExpandStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.ASC\shell\open\command" "" "$\"$INSTDIR\bin\Kleopatra.exe$\" $\"%1$\"" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.ASC" "" "$(T_File_Type_asc_Name)" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.ASC" "FriendlyTypeName" "$(T_File_Type_asc_Name)" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.ASC" "PercievedType" "Document" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.ASC" "InfoTip" "$(T_File_Type_info_tip)" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.ASC\CurVer" "" "${VERSION}" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.ASC\DefaultIcon" "" "$INSTDIR\share\gpg4win\file-ext.ico" + WriteRegBin SHCTX "Software\Classes\.asc\OpenWithProgIDs" "gpg4win.AssocFile.Kleopatra.ASC" 0 + + # .pgp + WriteRegBin SHCTX "Software\Classes\.pgp\OpenWithProgIDs" "gpg4win.AssocFile.Kleopatra.GPG" 0 + + # .sig + WriteRegExpandStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.PGPSIG\shell\open\command" "" "$\"$INSTDIR\bin\Kleopatra.exe$\" $\"%1$\"" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.PGPSIG" "" "$(T_File_Type_sig_Name)" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.PGPSIG" "FriendlyTypeName" "$(T_File_Type_sig_Name)" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.PGPSIG" "PercievedType" "Document" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.PGPSIG" "InfoTip" "$(T_File_Type_sig_info_tip)" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.PGPSIG\CurVer" "" "${VERSION}" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.PGPSIG\DefaultIcon" "" "$INSTDIR\share\gpg4win\file-ext.ico" + + WriteRegBin SHCTX "Software\Classes\.sig\OpenWithProgIDs" "gpg4win.AssocFile.Kleopatra.PGPSIG" 0 + + # OpenPGP Key to be used in mime registry + WriteRegExpandStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.PGPKEY\shell\open\command" "" "$\"$INSTDIR\bin\Kleopatra.exe$\" $\"%1$\"" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.PGPKEY" "" "$(T_File_Type_pgp_key_Name)" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.PGPKEY" "FriendlyTypeName" "$(T_File_Type_pgp_key_Name)" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.PGPKEY" "PercievedType" "Document" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.PGPKEY" "InfoTip" "$(T_File_Type_pgp_key_info_tip)" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.PGPKEY\CurVer" "" "${VERSION}" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.PGPKEY\DefaultIcon" "" "$INSTDIR\share\gpg4win\file-ext.ico" + + # CMS + WriteRegExpandStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.CMS\shell\open\command" "" "$\"$INSTDIR\bin\Kleopatra.exe$\" $\"%1$\"" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.CMS" "" "$(T_File_Type_pem_Name)" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.CMS" "FriendlyTypeName" "$(T_File_Type_pem_Name)" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.CMS" "PercievedType" "Document" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.CMS" "InfoTip" "$(T_File_Type_info_tip)" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.CMS\CurVer" "" "${VERSION}" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.CMS\DefaultIcon" "" "$INSTDIR\share\gpg4win\file-ext.ico" + + WriteRegBin SHCTX "Software\Classes\.p7s\OpenWithProgIDs" "gpg4win.AssocFile.Kleopatra.CMS" 0 + WriteRegBin SHCTX "Software\Classes\.p7m\OpenWithProgIDs" "gpg4win.AssocFile.Kleopatra.CMS" 0 + WriteRegBin SHCTX "Software\Classes\.crl\OpenWithProgIDs" "gpg4win.AssocFile.Kleopatra.CMS" 0 + WriteRegBin SHCTX "Software\Classes\.pem\OpenWithProgIDs" "gpg4win.AssocFile.Kleopatra.CMS" 0 + WriteRegBin SHCTX "Software\Classes\.arl\OpenWithProgIDs" "gpg4win.AssocFile.Kleopatra.CMS" 0 + + # X509 Certificates + WriteRegExpandStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.X509\shell\open\command" "" "$\"$INSTDIR\bin\Kleopatra.exe$\" $\"%1$\"" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.X509" "FriendlyTypeName" "$(T_File_Type_x509_Name)" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.X509" "PercievedType" "Document" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.X509" "InfoTip" "$(T_File_Type_x509_info_tip)" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.X509\CurVer" "" "${VERSION}" + WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.X509\DefaultIcon" "" "$INSTDIR\share\gpg4win\file-ext.ico" + WriteRegBin SHCTX "Software\Classes\gpg4win.AssocFile.Kleopatra.X509" "AllowSilentDefaultTakeOver" 0 + + # Register capabilities + WriteRegStr SHCTX "Software\RegisteredApplications" "Gpg4win.Kleopatra" "SOFTWARE\Gpg4win\Kleopatra\Capabilities" + WriteRegStr SHCTX "Software\Gpg4win\Kleopatra" "" "Kleopatra" + + # File extensions + WriteRegStr SHCTX "Software\Gpg4win\Kleopatra\Capabilities\FileAssociations" ".pgp" "gpg4win.AssocFile.Kleopatra.GPG" + WriteRegStr SHCTX "Software\Gpg4win\Kleopatra\Capabilities\FileAssociations" ".asc" "gpg4win.AssocFile.Kleopatra.ASC" + WriteRegStr SHCTX "Software\Gpg4win\Kleopatra\Capabilities\FileAssociations" ".gpg" "gpg4win.AssocFile.Kleopatra.GPG" + WriteRegStr SHCTX "Software\Gpg4win\Kleopatra\Capabilities\FileAssociations" ".cer" "gpg4win.AssocFile.Kleopatra.X509" + WriteRegStr SHCTX "Software\Gpg4win\Kleopatra\Capabilities\FileAssociations" ".p10" "gpg4win.AssocFile.Kleopatra.X509" + WriteRegStr SHCTX "Software\Gpg4win\Kleopatra\Capabilities\FileAssociations" ".p12" "gpg4win.AssocFile.Kleopatra.X509" + WriteRegStr SHCTX "Software\Gpg4win\Kleopatra\Capabilities\FileAssociations" ".p7c" "gpg4win.AssocFile.Kleopatra.X509" + WriteRegStr SHCTX "Software\Gpg4win\Kleopatra\Capabilities\FileAssociations" ".pfx" "gpg4win.AssocFile.Kleopatra.X509" + WriteRegStr SHCTX "Software\Gpg4win\Kleopatra\Capabilities\FileAssociations" ".crt" "gpg4win.AssocFile.Kleopatra.X509" + WriteRegStr SHCTX "Software\Gpg4win\Kleopatra\Capabilities\FileAssociations" ".der" "gpg4win.AssocFile.Kleopatra.X509" + WriteRegStr SHCTX "Software\Gpg4win\Kleopatra\Capabilities\FileAssociations" ".sig" "gpg4win.AssocFile.Kleopatra.PGPSIG" + WriteRegStr SHCTX "Software\Gpg4win\Kleopatra\Capabilities\FileAssociations" ".arl" "gpg4win.AssocFile.Kleopatra.CMS" + WriteRegStr SHCTX "Software\Gpg4win\Kleopatra\Capabilities\FileAssociations" ".crl" "gpg4win.AssocFile.Kleopatra.CMS" + WriteRegStr SHCTX "Software\Gpg4win\Kleopatra\Capabilities\FileAssociations" ".p7m" "gpg4win.AssocFile.Kleopatra.CMS" + WriteRegStr SHCTX "Software\Gpg4win\Kleopatra\Capabilities\FileAssociations" ".p7s" "gpg4win.AssocFile.Kleopatra.CMS" + WriteRegStr SHCTX "Software\Gpg4win\Kleopatra\Capabilities\FileAssociations" ".pem" "gpg4win.AssocFile.Kleopatra.CMS" + + WriteRegExpandStr SHCTX "Software\Gpg4win\Kleopatra\Capabilities\shell\open\command" "" "$\"$INSTDIR\bin\Kleopatra.exe$\" $\"%1$\"" + + # Mime extensions For PGP this is probably pretty useless + WriteRegStr SHCTX "Software\Gpg4win\Kleopatra\Capabilities\MimeAssociations" "application/pgp" "gpg4win.AssocFile.Kleopatra.GPG" + WriteRegStr SHCTX "Software\Gpg4win\Kleopatra\Capabilities\MimeAssociations" "application/pgp-keys" "gpg4win.AssocFile.Kleopatra.PGPKEY" + WriteRegStr SHCTX "Software\Gpg4win\Kleopatra\Capabilities\MimeAssociations" "application/pgp-encrypted" "gpg4win.AssocFile.Kleopatra.GPG" + WriteRegStr SHCTX "Software\Gpg4win\Kleopatra\Capabilities\MimeAssociations" "application/pgp-signature" "gpg4win.AssocFile.Kleopatra.GPG" + WriteRegStr SHCTX "Software\Gpg4win\Kleopatra\Capabilities\MimeAssociations" "application/pkcs7-mime" "gpg4win.AssocFile.Kleopatra.CMS" + WriteRegStr SHCTX "Software\Gpg4win\Kleopatra\Capabilities\MimeAssociations" "application/pkix-cert" "gpg4win.AssocFile.Kleopatra.CMS" + WriteRegStr SHCTX "Software\Gpg4win\Kleopatra\Capabilities\MimeAssociations" "application/x-x509-ca-cert" "gpg4win.AssocFile.Kleopatra.X509" + WriteRegStr SHCTX "Software\Gpg4win\Kleopatra\Capabilities\MimeAssociations" "application/x-pkcs12" "gpg4win.AssocFile.Kleopatra.X509" + !endif ${MementoSectionEnd} LangString DESC_SEC_kleopatra ${LANG_ENGLISH} \ "Keymanager for OpenPGP and X.509 and common crypto dialogs." LangString DESC_Menu_kleopatra ${LANG_ENGLISH} \ "Run the Kleopatra key management tool." diff --git a/src/installer-finish.nsi b/src/installer-finish.nsi index 9725552f..f6aee014 100644 --- a/src/installer-finish.nsi +++ b/src/installer-finish.nsi @@ -1,272 +1,136 @@ # installer-finish.nsi - Installer for GPG4Win. -*- coding: latin-1; -*- # Copyright (C) 2005, 2008 g10 Code GmbH # # This file is part of GPG4Win. # # GPG4Win is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GPG4Win is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA Var MYTMP -Function SetupExtRegKeys - Pop $0 - # .gpg - WriteRegExpandStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.GPG\shell\open\command" "" "$\"$INSTDIR\bin\$0.exe$\" $\"%1$\"" - WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.GPG" "" "$(T_File_Type_gpg_Name)" - WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.GPG" "FriendlyTypeName" "$(T_File_Type_gpg_Name)" - WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.GPG" "PercievedType" "Document" - WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.GPG" "InfoTip" "$(T_File_Type_info_tip)" - WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.GPG\CurVer" "" "${VERSION}" - WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.GPG\DefaultIcon" "" "$INSTDIR\share\gpg4win\file-ext.ico" - - WriteRegBin SHCTX "Software\Classes\.gpg\OpenWithProgIDs" "gpg4win.AssocFile.$0.GPG" 0 - - # .asc - WriteRegExpandStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.ASC\shell\open\command" "" "$\"$INSTDIR\bin\$0.exe$\" $\"%1$\"" - WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.ASC" "" "$(T_File_Type_asc_Name)" - WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.ASC" "FriendlyTypeName" "$(T_File_Type_asc_Name)" - WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.ASC" "PercievedType" "Document" - WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.ASC" "InfoTip" "$(T_File_Type_info_tip)" - WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.ASC\CurVer" "" "${VERSION}" - WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.ASC\DefaultIcon" "" "$INSTDIR\share\gpg4win\file-ext.ico" - WriteRegBin SHCTX "Software\Classes\.asc\OpenWithProgIDs" "gpg4win.AssocFile.$0.ASC" 0 - - # .pgp - WriteRegBin SHCTX "Software\Classes\.pgp\OpenWithProgIDs" "gpg4win.AssocFile.$0.GPG" 0 - - # .sig - WriteRegExpandStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.PGPSIG\shell\open\command" "" "$\"$INSTDIR\bin\$0.exe$\" $\"%1$\"" - WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.PGPSIG" "" "$(T_File_Type_sig_Name)" - WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.PGPSIG" "FriendlyTypeName" "$(T_File_Type_sig_Name)" - WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.PGPSIG" "PercievedType" "Document" - WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.PGPSIG" "InfoTip" "$(T_File_Type_sig_info_tip)" - WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.PGPSIG\CurVer" "" "${VERSION}" - WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.PGPSIG\DefaultIcon" "" "$INSTDIR\share\gpg4win\file-ext.ico" - - WriteRegBin SHCTX "Software\Classes\.sig\OpenWithProgIDs" "gpg4win.AssocFile.$0.PGPSIG" 0 - - # OpenPGP Key to be used in mime registry - WriteRegExpandStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.PGPKEY\shell\open\command" "" "$\"$INSTDIR\bin\$0.exe$\" $\"%1$\"" - WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.PGPKEY" "" "$(T_File_Type_pgp_key_Name)" - WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.PGPKEY" "FriendlyTypeName" "$(T_File_Type_pgp_key_Name)" - WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.PGPKEY" "PercievedType" "Document" - WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.PGPKEY" "InfoTip" "$(T_File_Type_pgp_key_info_tip)" - WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.PGPKEY\CurVer" "" "${VERSION}" - WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.PGPKEY\DefaultIcon" "" "$INSTDIR\share\gpg4win\file-ext.ico" - - # CMS - WriteRegExpandStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.CMS\shell\open\command" "" "$\"$INSTDIR\bin\$0.exe$\" $\"%1$\"" - WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.CMS" "" "$(T_File_Type_pem_Name)" - WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.CMS" "FriendlyTypeName" "$(T_File_Type_pem_Name)" - WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.CMS" "PercievedType" "Document" - WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.CMS" "InfoTip" "$(T_File_Type_info_tip)" - WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.CMS\CurVer" "" "${VERSION}" - WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.CMS\DefaultIcon" "" "$INSTDIR\share\gpg4win\file-ext.ico" - - WriteRegBin SHCTX "Software\Classes\.p7s\OpenWithProgIDs" "gpg4win.AssocFile.$0.CMS" 0 - WriteRegBin SHCTX "Software\Classes\.p7m\OpenWithProgIDs" "gpg4win.AssocFile.$0.CMS" 0 - WriteRegBin SHCTX "Software\Classes\.crl\OpenWithProgIDs" "gpg4win.AssocFile.$0.CMS" 0 - WriteRegBin SHCTX "Software\Classes\.pem\OpenWithProgIDs" "gpg4win.AssocFile.$0.CMS" 0 - WriteRegBin SHCTX "Software\Classes\.arl\OpenWithProgIDs" "gpg4win.AssocFile.$0.CMS" 0 - - # X509 Certificates - WriteRegExpandStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.X509\shell\open\command" "" "$\"$INSTDIR\bin\$0.exe$\" $\"%1$\"" - WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.X509" "FriendlyTypeName" "$(T_File_Type_x509_Name)" - WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.X509" "PercievedType" "Document" - WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.X509" "InfoTip" "$(T_File_Type_x509_info_tip)" - WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.X509\CurVer" "" "${VERSION}" - WriteRegStr SHCTX "Software\Classes\gpg4win.AssocFile.$0.X509\DefaultIcon" "" "$INSTDIR\share\gpg4win\file-ext.ico" - WriteRegBin SHCTX "Software\Classes\gpg4win.AssocFile.$0.X509" "AllowSilentDefaultTakeOver" 0 - - # Register capabilities - WriteRegStr SHCTX "Software\RegisteredApplications" "Gpg4win.$0" "SOFTWARE\Gpg4win\$0\Capabilities" - WriteRegStr SHCTX "Software\Gpg4win\$0" "" "$0" - - # File extensions - WriteRegStr SHCTX "Software\Gpg4win\$0\Capabilities\FileAssociations" ".pgp" "gpg4win.AssocFile.$0.GPG" - WriteRegStr SHCTX "Software\Gpg4win\$0\Capabilities\FileAssociations" ".asc" "gpg4win.AssocFile.$0.ASC" - WriteRegStr SHCTX "Software\Gpg4win\$0\Capabilities\FileAssociations" ".gpg" "gpg4win.AssocFile.$0.GPG" - WriteRegStr SHCTX "Software\Gpg4win\$0\Capabilities\FileAssociations" ".cer" "gpg4win.AssocFile.$0.X509" - WriteRegStr SHCTX "Software\Gpg4win\$0\Capabilities\FileAssociations" ".p10" "gpg4win.AssocFile.$0.X509" - WriteRegStr SHCTX "Software\Gpg4win\$0\Capabilities\FileAssociations" ".p12" "gpg4win.AssocFile.$0.X509" - WriteRegStr SHCTX "Software\Gpg4win\$0\Capabilities\FileAssociations" ".p7c" "gpg4win.AssocFile.$0.X509" - WriteRegStr SHCTX "Software\Gpg4win\$0\Capabilities\FileAssociations" ".pfx" "gpg4win.AssocFile.$0.X509" - WriteRegStr SHCTX "Software\Gpg4win\$0\Capabilities\FileAssociations" ".crt" "gpg4win.AssocFile.$0.X509" - WriteRegStr SHCTX "Software\Gpg4win\$0\Capabilities\FileAssociations" ".der" "gpg4win.AssocFile.$0.X509" - WriteRegStr SHCTX "Software\Gpg4win\$0\Capabilities\FileAssociations" ".sig" "gpg4win.AssocFile.$0.PGPSIG" - WriteRegStr SHCTX "Software\Gpg4win\$0\Capabilities\FileAssociations" ".arl" "gpg4win.AssocFile.$0.CMS" - WriteRegStr SHCTX "Software\Gpg4win\$0\Capabilities\FileAssociations" ".crl" "gpg4win.AssocFile.$0.CMS" - WriteRegStr SHCTX "Software\Gpg4win\$0\Capabilities\FileAssociations" ".p7m" "gpg4win.AssocFile.$0.CMS" - WriteRegStr SHCTX "Software\Gpg4win\$0\Capabilities\FileAssociations" ".p7s" "gpg4win.AssocFile.$0.CMS" - WriteRegStr SHCTX "Software\Gpg4win\$0\Capabilities\FileAssociations" ".pem" "gpg4win.AssocFile.$0.CMS" - - WriteRegExpandStr SHCTX "Software\Gpg4win\$0\Capabilities\shell\open\command" "" "$\"$INSTDIR\bin\$0.exe$\" $\"%1$\"" - - # Mime extensions For PGP this is probably pretty useless - WriteRegStr SHCTX "Software\Gpg4win\$0\Capabilities\MimeAssociations" "application/pgp" "gpg4win.AssocFile.$0.GPG" - WriteRegStr SHCTX "Software\Gpg4win\$0\Capabilities\MimeAssociations" "application/pgp-keys" "gpg4win.AssocFile.$0.PGPKEY" - WriteRegStr SHCTX "Software\Gpg4win\$0\Capabilities\MimeAssociations" "application/pgp-encrypted" "gpg4win.AssocFile.$0.GPG" - WriteRegStr SHCTX "Software\Gpg4win\$0\Capabilities\MimeAssociations" "application/pgp-signature" "gpg4win.AssocFile.$0.GPG" - WriteRegStr SHCTX "Software\Gpg4win\$0\Capabilities\MimeAssociations" "application/pkcs7-mime" "gpg4win.AssocFile.$0.CMS" - WriteRegStr SHCTX "Software\Gpg4win\$0\Capabilities\MimeAssociations" "application/pkix-cert" "gpg4win.AssocFile.$0.CMS" - WriteRegStr SHCTX "Software\Gpg4win\$0\Capabilities\MimeAssociations" "application/x-x509-ca-cert" "gpg4win.AssocFile.$0.X509" - WriteRegStr SHCTX "Software\Gpg4win\$0\Capabilities\MimeAssociations" "application/x-pkcs12" "gpg4win.AssocFile.$0.X509" - -FunctionEnd - Function SetupExtensions - g4wihelp::config_fetch_bool "register_extensions" - StrCmp $R0 "1" reg_set reg_extensions_not_one -reg_extensions_not_one: - StrCmp $R0 "0" leave 0 - -reg_set: - SetOutPath "$INSTDIR\share\gpg4win" - File "file-ext.ico" - !insertmacro SectionFlagIsSet ${SEC_kleopatra} \ - ${SF_SELECTED} have_kleo 0 - !insertmacro SectionFlagIsSet ${SEC_gpa} \ - ${SF_SELECTED} have_gpa 0 - goto leave -have_kleo: - DetailPrint "Registering file extensions" - # See: - # https://msdn.microsoft.com/en-us/library/windows/desktop/cc144104%28v=vs.85%29.aspx - # For documentation. - - push Kleopatra - call SetupExtRegKeys - - !insertmacro SectionFlagIsSet ${SEC_gpa} \ - ${SF_SELECTED} 0 leave2 -have_gpa: - push GPA - call SetupExtRegKeys - -leave2: System::Call 'Shell32::SHChangeNotify(i 0x8000000, i 0, i 0, i 0)' -leave: FunctionEnd LangString T_File_Type_gpg_Name ${LANG_ENGLISH} \ "OpenPGP Binary File" LangString T_File_Type_asc_Name ${LANG_ENGLISH} \ "OpenPGP Text File" LangString T_File_Type_sig_Name ${LANG_ENGLISH} \ "OpenPGP Signature" LangString T_File_Type_pgp_key_Name ${LANG_ENGLISH} \ "OpenPGP Certificate File" LangString T_File_Type_pem_Name ${LANG_ENGLISH} \ "CMS (S/MIME) File" LangString T_File_Type_x509_Name ${LANG_ENGLISH} \ "X509 Certificate File" LangString T_File_Type_x509_info_tip ${LANG_ENGLISH} \ "Certificate for CMS (S/MIME)." LangString T_File_Type_info_tip ${LANG_ENGLISH} \ "This can be encrypted data, a signature or a certificate." LangString T_File_Type_sig_info_tip ${LANG_ENGLISH} \ "A cryptographic signature to verify the authenticity of another file." LangString T_File_Type_pgp_key_info_tip ${LANG_ENGLISH} \ "Certificate for OpenPGP." # Last section is a hidden one. Section WriteUninstaller "$INSTDIR\${PACKAGE}-uninstall.exe" # Windows Add/Remove Programs support # Note that the version is appended to the DisplayName, despite that # this is not necessary as a click on "support information" gives # the version number. Some tools do that, other don't. I don't # like it but others want me to do that. -wk StrCpy $MYTMP "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRETTY_PACKAGE_SHORT}" WriteRegExpandStr SHCTX $MYTMP "UninstallString" '"$INSTDIR\${PACKAGE}-uninstall.exe"' WriteRegExpandStr SHCTX $MYTMP "InstallLocation" "$INSTDIR" WriteRegStr SHCTX $MYTMP "DisplayName" "${PRETTY_PACKAGE} (${VERSION})" WriteRegStr SHCTX $MYTMP "DisplayIcon" "$INSTDIR\bin\kleopatra.exe,0" WriteRegStr SHCTX $MYTMP "DisplayVersion" "${VERSION}" WriteRegStr SHCTX $MYTMP "Publisher" "The Gpg4win Project" WriteRegStr SHCTX $MYTMP "URLInfoAbout" "http://www.gpg4win.org/" WriteRegDWORD SHCTX $MYTMP "NoModify" "1" WriteRegDWORD SHCTX $MYTMP "NoRepair" "1" WriteRegStr SHCTX "Software\Classes\MIME\Database\Content Type\application/pgp" "Extension" ".gpg" WriteRegStr SHCTX "Software\Classes\MIME\Database\Content Type\application/pgp-signature" "Extension" ".sig" WriteRegStr SHCTX "Software\Classes\MIME\Database\Content Type\application/pgp-encrypted" "Extension" ".gpg" WriteRegStr SHCTX "Software\Classes\MIME\Database\Content Type\application/pgp-keys" "Extension" ".gpg" call SetupExtensions SectionEnd Section Uninstall UserInfo::GetAccountType Pop $1 StrCmp $1 "Admin" is_admin is_no_admin is_admin: SetShellVarContext all is_no_admin: #--------------------------------------------------- # Delete the menu entries and any empty parent menus #--------------------------------------------------- Delete "$SMPROGRAMS\GPA.lnk" Delete "$SMPROGRAMS\Kleopatra.lnk" # Delete Desktop links. StrCmp $is_update '1' no_desktop_delete !ifdef HAVE_PKG_GPA Delete "$DESKTOP\GPA.lnk" !endif !ifdef HAVE_PKG_KLEOPATRA Delete "$DESKTOP\Kleopatra.lnk" !endif no_desktop_delete: Delete "$INSTDIR\${PACKAGE}-uninstall.exe" Delete "$INSTDIR\share\gpg4win\file-ext.ico" RMDir "$INSTDIR\share\gpg4win" RMDir "$INSTDIR\share" RMDir "$INSTDIR" # If we installed in the default location, try to be really, really # nice with sugar on it to clean up behind us. In any case, try very # hard to get rid of directories which could have REBOOTOK files. RMDir /REBOOTOK "$INSTDIR\bin" RMDir /REBOOTOK "$INSTDIR" # Clean the registry. DeleteRegValue SHCTX "Software\${PRETTY_PACKAGE_SHORT}" \ "Install Directory" DeleteRegKey /ifempty SHCTX "Software\${PRETTY_PACKAGE_SHORT}" # Remove Windows Add/Remove Programs support. DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRETTY_PACKAGE_SHORT}" DeleteRegKey SHCTX "Software\Classes\MIME\Database\Content Type\application/pgp" DeleteRegKey SHCTX "Software\Classes\MIME\Database\Content Type\application/pgp-signature" DeleteRegKey SHCTX "Software\Classes\MIME\Database\Content Type\application/pgp-encrypted" DeleteRegKey SHCTX "Software\Classes\MIME\Database\Content Type\application/pgp-keys" SectionEnd