Advertised shortcuts disabled (closes #4)

This commit is contained in:
Simon Rozman 2016-04-07 10:50:31 +02:00
parent eef80067bb
commit 4f52304fe9
3 changed files with 16 additions and 0 deletions

View File

@ -317,6 +317,7 @@ s$(MSIBUILD_LENGTH_ID) l0
Property Property Property Property
ARPPRODUCTICON iconZRCola.ico ARPPRODUCTICON iconZRCola.ico
ALLUSERS 1 ALLUSERS 1
DISABLEADVTSHORTCUTS 1
INSTALLLEVEL 3 INSTALLLEVEL 3
InstallMode Typical InstallMode Typical
SecureCustomProperties OLDPRODUCTFOUND;NEWPRODUCTFOUND SecureCustomProperties OLDPRODUCTFOUND;NEWPRODUCTFOUND

View File

@ -35,3 +35,7 @@
#include <vector> #include <vector>
#include <stdex/idrec.h> #include <stdex/idrec.h>
#if defined(__WXMSW__)
#include <Msi.h>
#endif

View File

@ -18,6 +18,9 @@
*/ */
#include "stdafx.h" #include "stdafx.h"
#if defined(__WXMSW__)
#pragma comment(lib, "msi.lib")
#endif
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
@ -34,6 +37,14 @@ ZRColaApp::ZRColaApp() : wxApp()
bool ZRColaApp::OnInit() bool ZRColaApp::OnInit()
{ {
#if defined(__WXMSW__)
// To compensate migration to non-advertised shortcut, do the Microsoft Installer's feature completeness check manually.
// If execution got this far in the first place (EXE and dependent DLLs are present and loadable).
// Furthermore, this increments program usage counter.
if (::MsiQueryFeatureState(_T(ZRCOLA_VERSION_GUID), _T("featZRCola")) != INSTALLSTATE_UNKNOWN)
::MsiUseFeature(_T(ZRCOLA_VERSION_GUID), _T("featZRCola"));
#endif
wxConfigBase *cfgPrev = wxConfigBase::Set(new wxConfig(wxT(ZRCOLA_CFG_APPLICATION), wxT(ZRCOLA_CFG_VENDOR))); wxConfigBase *cfgPrev = wxConfigBase::Set(new wxConfig(wxT(ZRCOLA_CFG_APPLICATION), wxT(ZRCOLA_CFG_VENDOR)));
if (cfgPrev) wxDELETE(cfgPrev); if (cfgPrev) wxDELETE(cfgPrev);