diff --git a/.gitattributes b/.gitattributes index 9b071ea..1705dcc 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,26 +1,27 @@ * text=auto !eol /MSICA.sln svneol=CRLF#text/plain eol=crlf -MSICALib/FileOp.cpp -text MSICALib/L10N/sl_SI.po -text MSICALib/MSICALib.cpp -text MSICALib/MSICALib.h -text MSICALib/MSICALib.vcxproj -text svneol=unset#text/xml MSICALib/MSICALib.vcxproj.filters -text svneol=unset#text/xml -MSICALib/RegOp.cpp -text -MSICALib/TSOp.cpp -text +MSICALib/OpCert.cpp -text +MSICALib/OpFile.cpp -text +MSICALib/OpReg.cpp -text +MSICALib/OpTS.cpp -text MSICALib/msm/Makefile -text svneol=unset#text/plain%3B+charset%3DWindows-1250 MSICALib/stdafx.cpp -text MSICALib/stdafx.h -text -MSITSCA/L10N/sl_SI.po -text -MSITSCA/MSITSCA.cpp -text -MSITSCA/MSITSCA.h -text -MSITSCA/MSITSCA.rc -text svneol=unset#unset -MSITSCA/MSITSCA.rcx -text svneol=unset#unset -MSITSCA/MSITSCA.vcxproj -text svneol=unset#text/xml -MSITSCA/MSITSCA.vcxproj.filters -text svneol=unset#text/xml -MSITSCA/msm/Makefile -text svneol=unset#text/plain%3B+charset%3DWindows-1250 -MSITSCA/stdafx.cpp -text -MSITSCA/stdafx.h -text +MSICATS/L10N/sl_SI.po -text +MSICATS/MSICATS.cpp -text +MSICATS/MSICATS.h -text +MSICATS/MSICATS.rc -text svneol=unset#unset +MSICATS/MSICATS.rcx -text svneol=unset#unset +MSICATS/MSICATS.vcxproj -text svneol=unset#text/xml +MSICATS/MSICATS.vcxproj.filters -text svneol=unset#text/xml +MSICATS/msm/Makefile -text svneol=unset#text/plain%3B+charset%3DWindows-1250 +MSICATS/stdafx.cpp -text +MSICATS/stdafx.h -text include/Debug.props -text svneol=unset#text/xml include/Release.props -text svneol=unset#text/xml include/Win32.props -text svneol=unset#text/xml diff --git a/.gitignore b/.gitignore index f7ffbb1..8f16db4 100644 --- a/.gitignore +++ b/.gitignore @@ -13,17 +13,17 @@ MSICALib/msm/*.Icon-2 MSICALib/msm/*.lst MSICALib/msm/*.msm MSICALib/temp -MSITSCA/*.user -MSITSCA/L10N/*.mo -MSITSCA/msm/*-1.idt -MSITSCA/msm/*-2.idt -MSITSCA/msm/*-2.idtx -MSITSCA/msm/*.Binary-1 -MSITSCA/msm/*.Binary-2 -MSITSCA/msm/*.Icon-1 -MSITSCA/msm/*.Icon-2 -MSITSCA/msm/*.lst -MSITSCA/msm/*.msm -MSITSCA/temp +MSICATS/*.user +MSICATS/L10N/*.mo +MSICATS/msm/*-1.idt +MSICATS/msm/*-2.idt +MSICATS/msm/*-2.idtx +MSICATS/msm/*.Binary-1 +MSICATS/msm/*.Binary-2 +MSICATS/msm/*.Icon-1 +MSICATS/msm/*.Icon-2 +MSICATS/msm/*.lst +MSICATS/msm/*.msm +MSICATS/temp /ipch /output diff --git a/MSICA.sln b/MSICA.sln index 2cb3a50..92c7d35 100644 --- a/MSICA.sln +++ b/MSICA.sln @@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2010 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MSICALib", "MSICALib\MSICALib.vcxproj", "{8552EE55-177E-4F51-B51B-BAF7D6462CDE}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MSITSCA", "MSITSCA\MSITSCA.vcxproj", "{A7D9EBC1-1E64-4399-9C88-6692F8742153}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MSICATS", "MSICATS\MSICATS.vcxproj", "{A7D9EBC1-1E64-4399-9C88-6692F8742153}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{F3D5C008-7728-49CA-84F1-12C186FC87F8}" ProjectSection(SolutionItems) = preProject diff --git a/MSICALib/MSICALib.h b/MSICALib/MSICALib.h index 3d24e30..691251a 100644 --- a/MSICALib/MSICALib.h +++ b/MSICALib/MSICALib.h @@ -7,6 +7,7 @@ #include #include #include +#include #include @@ -395,6 +396,53 @@ public: }; +//////////////////////////////////////////////////////////////////////////// +// COpCertStore +//////////////////////////////////////////////////////////////////////////// + +class COpCertStore : public COpTypeSingleString +{ +public: + COpCertStore(LPCWSTR pszStore = L"", DWORD dwEncodingType = 0, DWORD dwFlags = 0, int iTicks = 0); + + friend inline HRESULT operator <<(ATL::CAtlFile &f, const COpCertStore &op); + friend inline HRESULT operator >>(ATL::CAtlFile &f, COpCertStore &op); + +protected: + DWORD m_dwEncodingType; + DWORD m_dwFlags; +}; + + +//////////////////////////////////////////////////////////////////////////// +// COpCert +//////////////////////////////////////////////////////////////////////////// + +class COpCert : public COpCertStore +{ +public: + COpCert(LPCVOID lpCert = NULL, SIZE_T nSize = 0, LPCWSTR pszStore = L"", DWORD dwEncodingType = 0, DWORD dwFlags = 0, int iTicks = 0); + + friend inline HRESULT operator <<(ATL::CAtlFile &f, const COpCert &op); + friend inline HRESULT operator >>(ATL::CAtlFile &f, COpCert &op); + +protected: + ATL::CAtlArray m_binCert; +}; + + +//////////////////////////////////////////////////////////////////////////// +// COpCertInstall +//////////////////////////////////////////////////////////////////////////// + +class COpCertInstall : public COpCert +{ +public: + COpCertInstall(LPCVOID lpCert = NULL, SIZE_T nSize = 0, LPCWSTR pszStore = L"", DWORD dwEncodingType = 0, DWORD dwFlags = 0, int iTicks = 0); + virtual HRESULT Execute(CSession *pSession); +}; + + //////////////////////////////////////////////////////////////////////////// // COpList //////////////////////////////////////////////////////////////////////////// @@ -410,8 +458,8 @@ public: virtual HRESULT Execute(CSession *pSession); - friend inline HRESULT operator <<(ATL::CAtlFile &f, const COpList &op); - friend inline HRESULT operator >>(ATL::CAtlFile &f, COpList &op); + friend inline HRESULT operator <<(ATL::CAtlFile &f, const COpList &list); + friend inline HRESULT operator >>(ATL::CAtlFile &f, COpList &list); protected: enum OPERATION { @@ -1166,12 +1214,12 @@ inline HRESULT operator >>(ATL::CAtlFile &f, COpTaskCreate &op) hr = f >> op.m_sWorkingDirectory; if (FAILED(hr)) return hr; hr = f >> op.m_sAuthor; if (FAILED(hr)) return hr; hr = f >> op.m_sComment; if (FAILED(hr)) return hr; - hr = f >> (int&)op.m_dwFlags; if (FAILED(hr)) return hr; - hr = f >> (int&)op.m_dwPriority; if (FAILED(hr)) return hr; + hr = f >> (int&)(op.m_dwFlags); if (FAILED(hr)) return hr; + hr = f >> (int&)(op.m_dwPriority); if (FAILED(hr)) return hr; hr = f >> op.m_sAccountName; if (FAILED(hr)) return hr; hr = f >> op.m_sPassword; if (FAILED(hr)) return hr; hr = f >> (int&)dwValue; if (FAILED(hr)) return hr; op.m_wIdleMinutes = HIWORD(dwValue); op.m_wDeadlineMinutes = LOWORD(dwValue); - hr = f >> (int&)op.m_dwMaxRuntimeMS; if (FAILED(hr)) return hr; + hr = f >> (int&)(op.m_dwMaxRuntimeMS); if (FAILED(hr)) return hr; hr = f >> (int&)dwValue; if (FAILED(hr)) return hr; while (dwValue--) { TASK_TRIGGER ttData; @@ -1207,6 +1255,52 @@ inline HRESULT operator >>(ATL::CAtlFile &f, COpTaskEnable &op) } +inline HRESULT operator <<(ATL::CAtlFile &f, const COpCertStore &op) +{ + HRESULT hr; + + hr = f << (const COpTypeSingleString&)op; if (FAILED(hr)) return hr; + hr = f << (int)(op.m_dwEncodingType); if (FAILED(hr)) return hr; + hr = f << (int)(op.m_dwFlags); if (FAILED(hr)) return hr; + + return S_OK; +} + + +inline HRESULT operator >>(ATL::CAtlFile &f, COpCertStore &op) +{ + HRESULT hr; + + hr = f >> (COpTypeSingleString&)op; if (FAILED(hr)) return hr; + hr = f >> (int&)(op.m_dwEncodingType); if (FAILED(hr)) return hr; + hr = f >> (int&)(op.m_dwFlags); if (FAILED(hr)) return hr; + + return S_OK; +} + + +inline HRESULT operator <<(ATL::CAtlFile &f, const COpCert &op) +{ + HRESULT hr; + + hr = f << (const COpCertStore&)op; if (FAILED(hr)) return hr; + hr = f << op.m_binCert; if (FAILED(hr)) return hr; + + return S_OK; +} + + +inline HRESULT operator >>(ATL::CAtlFile &f, COpCert &op) +{ + HRESULT hr; + + hr = f >> (COpCertStore&)op; if (FAILED(hr)) return hr; + hr = f >> op.m_binCert; if (FAILED(hr)) return hr; + + return S_OK; +} + + inline HRESULT operator <<(ATL::CAtlFile &f, const COpList &list) { POSITION pos; diff --git a/MSICALib/MSICALib.vcxproj b/MSICALib/MSICALib.vcxproj index b7b730a..1ae9067 100644 --- a/MSICALib/MSICALib.vcxproj +++ b/MSICALib/MSICALib.vcxproj @@ -19,10 +19,11 @@ + - - - + + + Create Create diff --git a/MSICALib/MSICALib.vcxproj.filters b/MSICALib/MSICALib.vcxproj.filters index ffdd07b..24b8750 100644 --- a/MSICALib/MSICALib.vcxproj.filters +++ b/MSICALib/MSICALib.vcxproj.filters @@ -18,16 +18,19 @@ Source Files - + Source Files - + Source Files Source Files - + + Source Files + + Source Files diff --git a/MSICALib/OpCert.cpp b/MSICALib/OpCert.cpp new file mode 100644 index 0000000..a5109ee --- /dev/null +++ b/MSICALib/OpCert.cpp @@ -0,0 +1,46 @@ +#include "stdafx.h" + +#pragma comment(lib, "crypt32.lib") + + +namespace MSICA { + +//////////////////////////////////////////////////////////////////////////// +// COpCertStore +//////////////////////////////////////////////////////////////////////////// + +COpCertStore::COpCertStore(LPCWSTR pszStore, DWORD dwEncodingType, DWORD dwFlags, int iTicks) : + COpTypeSingleString(pszStore, iTicks), + m_dwEncodingType(dwEncodingType), + m_dwFlags(dwFlags) +{ +} + + +//////////////////////////////////////////////////////////////////////////// +// COpCert +//////////////////////////////////////////////////////////////////////////// + +COpCert::COpCert(LPCVOID lpCert, SIZE_T nSize, LPCWSTR pszStore, DWORD dwEncodingType, DWORD dwFlags, int iTicks) : + COpCertStore(pszStore, dwEncodingType, dwFlags, iTicks) +{ + m_binCert.SetCount(nSize); + memcpy(m_binCert.GetData(), lpCert, nSize); +} + + +//////////////////////////////////////////////////////////////////////////// +// COpCertInstall +//////////////////////////////////////////////////////////////////////////// + +COpCertInstall::COpCertInstall(LPCVOID lpCert, SIZE_T nSize, LPCWSTR pszStore, DWORD dwEncodingType, DWORD dwFlags, int iTicks) : COpCert(lpCert, nSize, pszStore, dwEncodingType, dwFlags, iTicks) +{ +} + + +HRESULT COpCertInstall::Execute(CSession *pSession) +{ + return E_NOTIMPL; +} + +} // namespace MSICA diff --git a/MSICALib/FileOp.cpp b/MSICALib/OpFile.cpp similarity index 100% rename from MSICALib/FileOp.cpp rename to MSICALib/OpFile.cpp diff --git a/MSICALib/RegOp.cpp b/MSICALib/OpReg.cpp similarity index 100% rename from MSICALib/RegOp.cpp rename to MSICALib/OpReg.cpp diff --git a/MSICALib/TSOp.cpp b/MSICALib/OpTS.cpp similarity index 100% rename from MSICALib/TSOp.cpp rename to MSICALib/OpTS.cpp diff --git a/MSITSCA/L10N/sl_SI.po b/MSICATS/L10N/sl_SI.po similarity index 88% rename from MSITSCA/L10N/sl_SI.po rename to MSICATS/L10N/sl_SI.po index 5c28c4b..6249482 100644 --- a/MSITSCA/L10N/sl_SI.po +++ b/MSICATS/L10N/sl_SI.po @@ -1,6 +1,6 @@ msgid "" msgstr "" -"Project-Id-Version: MSICA\n" +"Project-Id-Version: MSICATS\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-06-07 20:27+0100\n" "PO-Revision-Date: \n" @@ -20,51 +20,51 @@ msgstr "" # Language Code and Windows Charset (hexadecimal) # If we do not intend to provide different localization of same base language (like merging Portugal Portugeese and Brasil Portugese into the same Portugeese), use the code of Microsoft defined default sublanguage. # For example: Use LANG_PORTUGUESE + SUBLANG_DEFAULT = 0x416, although 0x416 represents Brasil Portugese (too). -#: MSITSCA.rcx:43 +#: MSICATS.rcx:43 msgid "040904e4" msgstr "042404e2" # Language Code (hexadecimal) # If we do not intend to provide different localization of same base language (like merging Portugal Portugeese and Brasil Portugese into the same Portugeese), use the code of Microsoft defined default sublanguage. # For example: Use LANG_PORTUGUESE + SUBLANG_DEFAULT = 0x416, although 0x416 represents Brasil Portugese (too). -#: MSITSCA.rcx:61 +#: MSICATS.rcx:61 msgid "0x409" msgstr "0x424" # Windows charset for this language (decimal) -#: MSITSCA.rcx:61 ..\msm/Sl.DebugU.Win32.ActionText-2.idtx:3 +#: MSICATS.rcx:61 ..\msm/Sl.DebugU.Win32.ActionText-2.idtx:3 #: ..\msm/Sl.DebugU.Win32.Error-2.idtx:3 msgid "1252" msgstr "1250" # The name of the constant in RC to include the resources in this language. -#: MSITSCA.rcx:42 MSITSCA.rcx:60 MSITSCA.rcx:76 +#: MSICATS.rcx:42 MSICATS.rcx:60 MSICATS.rcx:76 msgid "AFX_TARG_ENU" msgstr "AFX_TARG_SLV" -#: MSITSCA.rcx:45 +#: MSICATS.rcx:45 msgid "Amebis, d. o. o., Kamnik" msgstr "Amebis, d. o. o., Kamnik" # Language Identifier (see http://msdn.microsoft.com/en-us/library/windows/desktop/dd318693(v=vs.85).aspx) -#: MSITSCA.rcx:78 +#: MSICATS.rcx:78 msgid "LANG_ENGLISH" msgstr "LANG_SLOVENIAN" -#: MSITSCA.rcx:48 MSITSCA.rcx:50 -msgid "MSITSCA" -msgstr "MSITSCA" +#: MSICATS.rcx:48 MSICATS.rcx:50 +msgid "MSICATS" +msgstr "MSICATS" -#: MSITSCA.rcx:46 +#: MSICATS.rcx:46 msgid "Scheduled Task Installation Support Library" msgstr "Podporna knjižnica za nameščanje načrtovanih opravil" # Sublanguage Identifier (see http://msdn.microsoft.com/en-us/library/windows/desktop/dd318693(v=vs.85).aspx) -#: MSITSCA.rcx:78 +#: MSICATS.rcx:78 msgid "SUBLANG_DEFAULT" msgstr "SUBLANG_DEFAULT" -#: MSITSCA.rcx:49 +#: MSICATS.rcx:49 msgid "Copyright © Amebis, d. o. o., Kamnik, 2012" msgstr "Vse pravice pridržane © Amebis, d. o. o., Kamnik, 2012" diff --git a/MSITSCA/MSITSCA.cpp b/MSICATS/MSICATS.cpp similarity index 96% rename from MSITSCA/MSITSCA.cpp rename to MSICATS/MSICATS.cpp index 8105941..a254c17 100644 --- a/MSITSCA/MSITSCA.cpp +++ b/MSICATS/MSICATS.cpp @@ -5,7 +5,7 @@ // Local constants //////////////////////////////////////////////////////////////////////////// -#define MSITSCA_TASK_TICK_SIZE (16*1024) +#define MSICATS_TASK_TICK_SIZE (16*1024) //////////////////////////////////////////////////////////////////////////// @@ -38,7 +38,7 @@ extern "C" BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpRes // Exported functions //////////////////////////////////////////////////////////////////// -UINT MSITSCA_API EvaluateScheduledTasks(MSIHANDLE hInstall) +UINT MSICATS_API EvaluateScheduledTasks(MSIHANDLE hInstall) { UINT uiResult; HRESULT hr; @@ -111,7 +111,7 @@ UINT MSITSCA_API EvaluateScheduledTasks(MSIHANDLE hInstall) if (iAction >= INSTALLSTATE_LOCAL) { // Component is or should be installed. Create the task. PMSIHANDLE hViewTT; - MSICA::COpTaskCreate *opCreateTask = new MSICA::COpTaskCreate(sDisplayName, MSITSCA_TASK_TICK_SIZE); + MSICA::COpTaskCreate *opCreateTask = new MSICA::COpTaskCreate(sDisplayName, MSICATS_TASK_TICK_SIZE); // Populate the operation with task's data. uiResult = opCreateTask->SetFromRecord(hInstall, hRecord); @@ -134,12 +134,12 @@ UINT MSITSCA_API EvaluateScheduledTasks(MSIHANDLE hInstall) olExecute.AddTail(opCreateTask); } else if (iAction >= INSTALLSTATE_REMOVED) { // Component is installed, but should be degraded to advertised/removed. Delete the task. - olExecute.AddTail(new MSICA::COpTaskDelete(sDisplayName, MSITSCA_TASK_TICK_SIZE)); + olExecute.AddTail(new MSICA::COpTaskDelete(sDisplayName, MSICATS_TASK_TICK_SIZE)); } // The amount of tick space to add for each task to progress indicator. ::MsiRecordSetInteger(hRecordProg, 1, 3 ); - ::MsiRecordSetInteger(hRecordProg, 2, MSITSCA_TASK_TICK_SIZE); + ::MsiRecordSetInteger(hRecordProg, 2, MSICATS_TASK_TICK_SIZE); if (::MsiProcessMessage(hInstall, INSTALLMESSAGE_PROGRESS, hRecordProg) == IDCANCEL) { uiResult = ERROR_INSTALL_USEREXIT; break; } } ::MsiViewClose(hViewST); @@ -223,7 +223,7 @@ UINT MSITSCA_API EvaluateScheduledTasks(MSIHANDLE hInstall) } -UINT MSITSCA_API InstallScheduledTasks(MSIHANDLE hInstall) +UINT MSICATS_API InstallScheduledTasks(MSIHANDLE hInstall) { UINT uiResult; HRESULT hr; diff --git a/MSITSCA/MSITSCA.h b/MSICATS/MSICATS.h similarity index 52% rename from MSITSCA/MSITSCA.h rename to MSICATS/MSICATS.h index 6f21aaa..2bb009d 100644 --- a/MSITSCA/MSITSCA.h +++ b/MSICATS/MSICATS.h @@ -1,5 +1,5 @@ -#ifndef __MSITSCA_H__ -#define __MSITSCA_H__ +#ifndef __MSICATS_H__ +#define __MSICATS_H__ #include @@ -8,12 +8,12 @@ // Calling declaration //////////////////////////////////////////////////////////////////// -#if defined(MSITSCA_DLL) -#define MSITSCA_API __declspec(dllexport) -#elif defined(MSITSCA_DLLIMP) -#define MSITSCA_API __declspec(dllimport) +#if defined(MSICATS_DLL) +#define MSICATS_API __declspec(dllexport) +#elif defined(MSICATS_DLLIMP) +#define MSICATS_API __declspec(dllimport) #else -#define MSITSCA_API +#define MSICATS_API #endif //////////////////////////////////////////////////////////////////// @@ -24,11 +24,11 @@ extern "C" { #endif - UINT MSITSCA_API EvaluateScheduledTasks(MSIHANDLE hInstall); - UINT MSITSCA_API InstallScheduledTasks(MSIHANDLE hInstall); + UINT MSICATS_API EvaluateScheduledTasks(MSIHANDLE hInstall); + UINT MSICATS_API InstallScheduledTasks(MSIHANDLE hInstall); #ifdef __cplusplus } #endif -#endif // __MSITSCA_H__ +#endif // __MSICATS_H__ diff --git a/MSICATS/MSICATS.rc b/MSICATS/MSICATS.rc new file mode 100644 index 0000000..a2c23e9 Binary files /dev/null and b/MSICATS/MSICATS.rc differ diff --git a/MSITSCA/MSITSCA.rcx b/MSICATS/MSICATS.rcx similarity index 97% rename from MSITSCA/MSITSCA.rcx rename to MSICATS/MSICATS.rcx index 77164c3..29d505b 100644 Binary files a/MSITSCA/MSITSCA.rcx and b/MSICATS/MSICATS.rcx differ diff --git a/MSITSCA/MSITSCA.vcxproj b/MSICATS/MSICATS.vcxproj similarity index 95% rename from MSITSCA/MSITSCA.vcxproj rename to MSICATS/MSICATS.vcxproj index cdaf909..be36eaa 100644 --- a/MSITSCA/MSITSCA.vcxproj +++ b/MSICATS/MSICATS.vcxproj @@ -138,7 +138,7 @@ - + Create Create @@ -147,14 +147,14 @@ - + - + - + diff --git a/MSITSCA/MSITSCA.vcxproj.filters b/MSICATS/MSICATS.vcxproj.filters similarity index 87% rename from MSITSCA/MSITSCA.vcxproj.filters rename to MSICATS/MSICATS.vcxproj.filters index 3345abd..c2a4cdc 100644 --- a/MSITSCA/MSITSCA.vcxproj.filters +++ b/MSICATS/MSICATS.vcxproj.filters @@ -15,7 +15,7 @@ - + Source Files @@ -23,7 +23,7 @@ - + Header Files @@ -31,12 +31,12 @@ - + Resource Files - + Resource Files diff --git a/MSITSCA/msm/Makefile b/MSICATS/msm/Makefile similarity index 93% rename from MSITSCA/msm/Makefile rename to MSICATS/msm/Makefile index e12ce85..4b36538 100644 --- a/MSITSCA/msm/Makefile +++ b/MSICATS/msm/Makefile @@ -81,7 +81,7 @@ InstallScheduledTasks Registering scheduled tasks Scheduled task: [1] All :: \ "$(LANG).$(PLAT).$(CFG).Binary-1.idt" \ - "$(LANG).$(PLAT).$(CFG).Binary-1\MSITSCA.dll" + "$(LANG).$(PLAT).$(CFG).Binary-1\MSICATS.dll" "$(LANG).$(PLAT).$(CFG).Binary-1.idt" : "Makefile" ""..\..\include\MSIBuildCfg.mak"" "$(LANG).$(PLAT).$(CFG).Binary-1" -if exist $@ del /f /q $@ @@ -89,10 +89,10 @@ All :: \ Name Data s$(MSIBUILD_LENGTH_ID) v0 Binary Name -binMSITSCA.dll MSITSCA.dll +binMSICATS.dll MSICATS.dll < NUL @@ -107,10 +107,10 @@ All :: "$(LANG).$(PLAT).$(CFG).CustomAction-1.idt" Action Type Source Target s$(MSIBUILD_LENGTH_ID) i2 S$(MSIBUILD_LENGTH_ID) S255 CustomAction Action -EvaluateScheduledTasks 1 binMSITSCA.dll EvaluateScheduledTasks -InstallScheduledTasks 3073 binMSITSCA.dll InstallScheduledTasks -RollbackScheduledTasks 3329 binMSITSCA.dll InstallScheduledTasks -CommitScheduledTasks 3585 binMSITSCA.dll InstallScheduledTasks +EvaluateScheduledTasks 1 binMSICATS.dll EvaluateScheduledTasks +InstallScheduledTasks 3073 binMSICATS.dll InstallScheduledTasks +RollbackScheduledTasks 3329 binMSICATS.dll InstallScheduledTasks +CommitScheduledTasks 3585 binMSICATS.dll InstallScheduledTasks <