Dodal sem zametke nameščanja certifikatov.

FileOp.cpp => OpFile.cpp, RegOp.cpp => OpReg.cpp ...
MSITSCA => MSICATS

Verzijo sem nastavil na 1.0-pre1.
This commit is contained in:
Simon Rozman 2014-03-13 08:48:49 +00:00
parent 6fa94e0d2f
commit 6dda602dd3
22 changed files with 231 additions and 86 deletions

27
.gitattributes vendored
View File

@ -1,26 +1,27 @@
* text=auto !eol * text=auto !eol
/MSICA.sln svneol=CRLF#text/plain eol=crlf /MSICA.sln svneol=CRLF#text/plain eol=crlf
MSICALib/FileOp.cpp -text
MSICALib/L10N/sl_SI.po -text MSICALib/L10N/sl_SI.po -text
MSICALib/MSICALib.cpp -text MSICALib/MSICALib.cpp -text
MSICALib/MSICALib.h -text MSICALib/MSICALib.h -text
MSICALib/MSICALib.vcxproj -text svneol=unset#text/xml MSICALib/MSICALib.vcxproj -text svneol=unset#text/xml
MSICALib/MSICALib.vcxproj.filters -text svneol=unset#text/xml MSICALib/MSICALib.vcxproj.filters -text svneol=unset#text/xml
MSICALib/RegOp.cpp -text MSICALib/OpCert.cpp -text
MSICALib/TSOp.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/msm/Makefile -text svneol=unset#text/plain%3B+charset%3DWindows-1250
MSICALib/stdafx.cpp -text MSICALib/stdafx.cpp -text
MSICALib/stdafx.h -text MSICALib/stdafx.h -text
MSITSCA/L10N/sl_SI.po -text MSICATS/L10N/sl_SI.po -text
MSITSCA/MSITSCA.cpp -text MSICATS/MSICATS.cpp -text
MSITSCA/MSITSCA.h -text MSICATS/MSICATS.h -text
MSITSCA/MSITSCA.rc -text svneol=unset#unset MSICATS/MSICATS.rc -text svneol=unset#unset
MSITSCA/MSITSCA.rcx -text svneol=unset#unset MSICATS/MSICATS.rcx -text svneol=unset#unset
MSITSCA/MSITSCA.vcxproj -text svneol=unset#text/xml MSICATS/MSICATS.vcxproj -text svneol=unset#text/xml
MSITSCA/MSITSCA.vcxproj.filters -text svneol=unset#text/xml MSICATS/MSICATS.vcxproj.filters -text svneol=unset#text/xml
MSITSCA/msm/Makefile -text svneol=unset#text/plain%3B+charset%3DWindows-1250 MSICATS/msm/Makefile -text svneol=unset#text/plain%3B+charset%3DWindows-1250
MSITSCA/stdafx.cpp -text MSICATS/stdafx.cpp -text
MSITSCA/stdafx.h -text MSICATS/stdafx.h -text
include/Debug.props -text svneol=unset#text/xml include/Debug.props -text svneol=unset#text/xml
include/Release.props -text svneol=unset#text/xml include/Release.props -text svneol=unset#text/xml
include/Win32.props -text svneol=unset#text/xml include/Win32.props -text svneol=unset#text/xml

24
.gitignore vendored
View File

@ -13,17 +13,17 @@ MSICALib/msm/*.Icon-2
MSICALib/msm/*.lst MSICALib/msm/*.lst
MSICALib/msm/*.msm MSICALib/msm/*.msm
MSICALib/temp MSICALib/temp
MSITSCA/*.user MSICATS/*.user
MSITSCA/L10N/*.mo MSICATS/L10N/*.mo
MSITSCA/msm/*-1.idt MSICATS/msm/*-1.idt
MSITSCA/msm/*-2.idt MSICATS/msm/*-2.idt
MSITSCA/msm/*-2.idtx MSICATS/msm/*-2.idtx
MSITSCA/msm/*.Binary-1 MSICATS/msm/*.Binary-1
MSITSCA/msm/*.Binary-2 MSICATS/msm/*.Binary-2
MSITSCA/msm/*.Icon-1 MSICATS/msm/*.Icon-1
MSITSCA/msm/*.Icon-2 MSICATS/msm/*.Icon-2
MSITSCA/msm/*.lst MSICATS/msm/*.lst
MSITSCA/msm/*.msm MSICATS/msm/*.msm
MSITSCA/temp MSICATS/temp
/ipch /ipch
/output /output

View File

@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010 # Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MSICALib", "MSICALib\MSICALib.vcxproj", "{8552EE55-177E-4F51-B51B-BAF7D6462CDE}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MSICALib", "MSICALib\MSICALib.vcxproj", "{8552EE55-177E-4F51-B51B-BAF7D6462CDE}"
EndProject 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 EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{F3D5C008-7728-49CA-84F1-12C186FC87F8}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{F3D5C008-7728-49CA-84F1-12C186FC87F8}"
ProjectSection(SolutionItems) = preProject ProjectSection(SolutionItems) = preProject

View File

@ -7,6 +7,7 @@
#include <atlstr.h> #include <atlstr.h>
#include <msi.h> #include <msi.h>
#include <mstask.h> #include <mstask.h>
#include <wincrypt.h>
#include <windows.h> #include <windows.h>
@ -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<BYTE> 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 // COpList
//////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////
@ -410,8 +458,8 @@ public:
virtual HRESULT Execute(CSession *pSession); virtual HRESULT Execute(CSession *pSession);
friend inline HRESULT operator <<(ATL::CAtlFile &f, const COpList &op); friend inline HRESULT operator <<(ATL::CAtlFile &f, const COpList &list);
friend inline HRESULT operator >>(ATL::CAtlFile &f, COpList &op); friend inline HRESULT operator >>(ATL::CAtlFile &f, COpList &list);
protected: protected:
enum OPERATION { 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_sWorkingDirectory; if (FAILED(hr)) return hr;
hr = f >> op.m_sAuthor; 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 >> op.m_sComment; if (FAILED(hr)) return hr;
hr = f >> (int&)op.m_dwFlags; 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_dwPriority); if (FAILED(hr)) return hr;
hr = f >> op.m_sAccountName; 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 >> 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&)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; hr = f >> (int&)dwValue; if (FAILED(hr)) return hr;
while (dwValue--) { while (dwValue--) {
TASK_TRIGGER ttData; 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) inline HRESULT operator <<(ATL::CAtlFile &f, const COpList &list)
{ {
POSITION pos; POSITION pos;

View File

@ -19,10 +19,11 @@
</ProjectConfiguration> </ProjectConfiguration>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="OpCert.cpp" />
<ClCompile Include="MSICALib.cpp" /> <ClCompile Include="MSICALib.cpp" />
<ClCompile Include="FileOp.cpp" /> <ClCompile Include="OpFile.cpp" />
<ClCompile Include="TSOp.cpp" /> <ClCompile Include="OpTS.cpp" />
<ClCompile Include="RegOp.cpp" /> <ClCompile Include="OpReg.cpp" />
<ClCompile Include="stdafx.cpp"> <ClCompile Include="stdafx.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>

View File

@ -18,16 +18,19 @@
<ClCompile Include="MSICALib.cpp"> <ClCompile Include="MSICALib.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="FileOp.cpp"> <ClCompile Include="OpFile.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="TSOp.cpp"> <ClCompile Include="OpTS.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="stdafx.cpp"> <ClCompile Include="stdafx.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="RegOp.cpp"> <ClCompile Include="OpReg.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="OpCert.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
</ItemGroup> </ItemGroup>

46
MSICALib/OpCert.cpp Normal file
View File

@ -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

View File

@ -1,6 +1,6 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: MSICA\n" "Project-Id-Version: MSICATS\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-06-07 20:27+0100\n" "POT-Creation-Date: 2013-06-07 20:27+0100\n"
"PO-Revision-Date: \n" "PO-Revision-Date: \n"
@ -20,51 +20,51 @@ msgstr ""
# Language Code and Windows Charset (hexadecimal) # 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. # 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). # For example: Use LANG_PORTUGUESE + SUBLANG_DEFAULT = 0x416, although 0x416 represents Brasil Portugese (too).
#: MSITSCA.rcx:43 #: MSICATS.rcx:43
msgid "040904e4" msgid "040904e4"
msgstr "042404e2" msgstr "042404e2"
# Language Code (hexadecimal) # 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. # 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). # For example: Use LANG_PORTUGUESE + SUBLANG_DEFAULT = 0x416, although 0x416 represents Brasil Portugese (too).
#: MSITSCA.rcx:61 #: MSICATS.rcx:61
msgid "0x409" msgid "0x409"
msgstr "0x424" msgstr "0x424"
# Windows charset for this language (decimal) # 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 #: ..\msm/Sl.DebugU.Win32.Error-2.idtx:3
msgid "1252" msgid "1252"
msgstr "1250" msgstr "1250"
# The name of the constant in RC to include the resources in this language. # 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" msgid "AFX_TARG_ENU"
msgstr "AFX_TARG_SLV" msgstr "AFX_TARG_SLV"
#: MSITSCA.rcx:45 #: MSICATS.rcx:45
msgid "Amebis, d. o. o., Kamnik" msgid "Amebis, d. o. o., Kamnik"
msgstr "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) # 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" msgid "LANG_ENGLISH"
msgstr "LANG_SLOVENIAN" msgstr "LANG_SLOVENIAN"
#: MSITSCA.rcx:48 MSITSCA.rcx:50 #: MSICATS.rcx:48 MSICATS.rcx:50
msgid "MSITSCA" msgid "MSICATS"
msgstr "MSITSCA" msgstr "MSICATS"
#: MSITSCA.rcx:46 #: MSICATS.rcx:46
msgid "Scheduled Task Installation Support Library" msgid "Scheduled Task Installation Support Library"
msgstr "Podporna knjižnica za nameščanje načrtovanih opravil" 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) # 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" msgid "SUBLANG_DEFAULT"
msgstr "SUBLANG_DEFAULT" msgstr "SUBLANG_DEFAULT"
#: MSITSCA.rcx:49 #: MSICATS.rcx:49
msgid "Copyright © Amebis, d. o. o., Kamnik, 2012" msgid "Copyright © Amebis, d. o. o., Kamnik, 2012"
msgstr "Vse pravice pridržane © Amebis, d. o. o., Kamnik, 2012" msgstr "Vse pravice pridržane © Amebis, d. o. o., Kamnik, 2012"

View File

@ -5,7 +5,7 @@
// Local constants // 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 // Exported functions
//////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////
UINT MSITSCA_API EvaluateScheduledTasks(MSIHANDLE hInstall) UINT MSICATS_API EvaluateScheduledTasks(MSIHANDLE hInstall)
{ {
UINT uiResult; UINT uiResult;
HRESULT hr; HRESULT hr;
@ -111,7 +111,7 @@ UINT MSITSCA_API EvaluateScheduledTasks(MSIHANDLE hInstall)
if (iAction >= INSTALLSTATE_LOCAL) { if (iAction >= INSTALLSTATE_LOCAL) {
// Component is or should be installed. Create the task. // Component is or should be installed. Create the task.
PMSIHANDLE hViewTT; 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. // Populate the operation with task's data.
uiResult = opCreateTask->SetFromRecord(hInstall, hRecord); uiResult = opCreateTask->SetFromRecord(hInstall, hRecord);
@ -134,12 +134,12 @@ UINT MSITSCA_API EvaluateScheduledTasks(MSIHANDLE hInstall)
olExecute.AddTail(opCreateTask); olExecute.AddTail(opCreateTask);
} else if (iAction >= INSTALLSTATE_REMOVED) { } else if (iAction >= INSTALLSTATE_REMOVED) {
// Component is installed, but should be degraded to advertised/removed. Delete the task. // 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. // The amount of tick space to add for each task to progress indicator.
::MsiRecordSetInteger(hRecordProg, 1, 3 ); ::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; } if (::MsiProcessMessage(hInstall, INSTALLMESSAGE_PROGRESS, hRecordProg) == IDCANCEL) { uiResult = ERROR_INSTALL_USEREXIT; break; }
} }
::MsiViewClose(hViewST); ::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; UINT uiResult;
HRESULT hr; HRESULT hr;

View File

@ -1,5 +1,5 @@
#ifndef __MSITSCA_H__ #ifndef __MSICATS_H__
#define __MSITSCA_H__ #define __MSICATS_H__
#include <msi.h> #include <msi.h>
@ -8,12 +8,12 @@
// Calling declaration // Calling declaration
//////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////
#if defined(MSITSCA_DLL) #if defined(MSICATS_DLL)
#define MSITSCA_API __declspec(dllexport) #define MSICATS_API __declspec(dllexport)
#elif defined(MSITSCA_DLLIMP) #elif defined(MSICATS_DLLIMP)
#define MSITSCA_API __declspec(dllimport) #define MSICATS_API __declspec(dllimport)
#else #else
#define MSITSCA_API #define MSICATS_API
#endif #endif
//////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////
@ -24,11 +24,11 @@
extern "C" { extern "C" {
#endif #endif
UINT MSITSCA_API EvaluateScheduledTasks(MSIHANDLE hInstall); UINT MSICATS_API EvaluateScheduledTasks(MSIHANDLE hInstall);
UINT MSITSCA_API InstallScheduledTasks(MSIHANDLE hInstall); UINT MSICATS_API InstallScheduledTasks(MSIHANDLE hInstall);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif // __MSITSCA_H__ #endif // __MSICATS_H__

BIN
MSICATS/MSICATS.rc Normal file

Binary file not shown.

View File

@ -138,7 +138,7 @@
<ClCompile /> <ClCompile />
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="MSITSCA.cpp" /> <ClCompile Include="MSICATS.cpp" />
<ClCompile Include="stdafx.cpp"> <ClCompile Include="stdafx.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
@ -147,14 +147,14 @@
</ClCompile> </ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="MSITSCA.h" /> <ClInclude Include="MSICATS.h" />
<ClInclude Include="stdafx.h" /> <ClInclude Include="stdafx.h" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ResourceCompile Include="MSITSCA.rc" /> <ResourceCompile Include="MSICATS.rc" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ResourceLocalizator Include="MSITSCA.rcx" /> <ResourceLocalizator Include="MSICATS.rcx" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Include="L10N\sl_SI.po" /> <None Include="L10N\sl_SI.po" />

View File

@ -15,7 +15,7 @@
</Filter> </Filter>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="MSITSCA.cpp"> <ClCompile Include="MSICATS.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="stdafx.cpp"> <ClCompile Include="stdafx.cpp">
@ -23,7 +23,7 @@
</ClCompile> </ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="MSITSCA.h"> <ClInclude Include="MSICATS.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="stdafx.h"> <ClInclude Include="stdafx.h">
@ -31,12 +31,12 @@
</ClInclude> </ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ResourceCompile Include="MSITSCA.rc"> <ResourceCompile Include="MSICATS.rc">
<Filter>Resource Files</Filter> <Filter>Resource Files</Filter>
</ResourceCompile> </ResourceCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ResourceLocalizator Include="MSITSCA.rcx"> <ResourceLocalizator Include="MSICATS.rcx">
<Filter>Resource Files</Filter> <Filter>Resource Files</Filter>
</ResourceLocalizator> </ResourceLocalizator>
</ItemGroup> </ItemGroup>

View File

@ -81,7 +81,7 @@ InstallScheduledTasks Registering scheduled tasks Scheduled task: [1]
All :: \ All :: \
"$(LANG).$(PLAT).$(CFG).Binary-1.idt" \ "$(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" "$(LANG).$(PLAT).$(CFG).Binary-1.idt" : "Makefile" ""..\..\include\MSIBuildCfg.mak"" "$(LANG).$(PLAT).$(CFG).Binary-1"
-if exist $@ del /f /q $@ -if exist $@ del /f /q $@
@ -89,10 +89,10 @@ All :: \
Name Data Name Data
s$(MSIBUILD_LENGTH_ID) v0 s$(MSIBUILD_LENGTH_ID) v0
Binary Name Binary Name
binMSITSCA.dll MSITSCA.dll binMSICATS.dll MSICATS.dll
<<NOKEEP <<NOKEEP
"$(LANG).$(PLAT).$(CFG).Binary-1\MSITSCA.dll" : "..\..\Test\$(CFG).$(PLAT)\MSITSCA.dll" "$(LANG).$(PLAT).$(CFG).Binary-1\MSICATS.dll" : "..\..\Test\$(CFG).$(PLAT)\MSICATS.dll"
copy /y $** $@ > NUL copy /y $** $@ > NUL
@ -107,10 +107,10 @@ All :: "$(LANG).$(PLAT).$(CFG).CustomAction-1.idt"
Action Type Source Target Action Type Source Target
s$(MSIBUILD_LENGTH_ID) i2 S$(MSIBUILD_LENGTH_ID) S255 s$(MSIBUILD_LENGTH_ID) i2 S$(MSIBUILD_LENGTH_ID) S255
CustomAction Action CustomAction Action
EvaluateScheduledTasks 1 binMSITSCA.dll EvaluateScheduledTasks EvaluateScheduledTasks 1 binMSICATS.dll EvaluateScheduledTasks
InstallScheduledTasks 3073 binMSITSCA.dll InstallScheduledTasks InstallScheduledTasks 3073 binMSICATS.dll InstallScheduledTasks
RollbackScheduledTasks 3329 binMSITSCA.dll InstallScheduledTasks RollbackScheduledTasks 3329 binMSICATS.dll InstallScheduledTasks
CommitScheduledTasks 3585 binMSITSCA.dll InstallScheduledTasks CommitScheduledTasks 3585 binMSICATS.dll InstallScheduledTasks
<<NOKEEP <<NOKEEP

View File

@ -20,7 +20,7 @@
#define _WIN32_WINNT 0x0501 // Include Windows XP symbols #define _WIN32_WINNT 0x0501 // Include Windows XP symbols
#define _WINSOCKAPI_ // Prevent inclusion of winsock.h in windows.h #define _WINSOCKAPI_ // Prevent inclusion of winsock.h in windows.h
#ifdef _WINDLL #ifdef _WINDLL
#define MSITSCA_DLL // This is a DLL #define MSICATS_DLL // This is a DLL
#endif #endif
#define _ATL_APARTMENT_THREADED #define _ATL_APARTMENT_THREADED
@ -34,4 +34,4 @@
#include "..\MSICALib\MSICALib.h" #include "..\MSICALib\MSICALib.h"
#include "MSITSCA.h" #include "MSICATS.h"

Binary file not shown.

View File

@ -1,9 +1,9 @@
#define MSICA_VERSION 0x00ff0000 #define MSICA_VERSION 0x00ff0100
#define MSICA_VERSION_MAJ 0 #define MSICA_VERSION_MAJ 0
#define MSICA_VERSION_MIN 255 #define MSICA_VERSION_MIN 255
#define MSICA_VERSION_REV 0 #define MSICA_VERSION_REV 1
#define MSICA_VERSION_BUILD 0 #define MSICA_VERSION_BUILD 0
#define MSICA_VERSION_STR "1.0-pre" #define MSICA_VERSION_STR "1.0-pre1"
#define MSICA_BUILD_YEAR_STR "2014" #define MSICA_BUILD_YEAR_STR "2014"