Kaydet (Commit) f466c2a2 authored tarafından Martin v. Löwis's avatar Martin v. Löwis

Port to VS 2008. Drop W9x support.

üst 344d066a
#include "windows.h" #include "windows.h"
#include "msiquery.h" #include "msiquery.h"
int isWinNT;
/* Print a debug message to the installer log file. /* Print a debug message to the installer log file.
* To see the debug messages, install with * To see the debug messages, install with
* msiexec /i pythonxy.msi /l*v python.log * msiexec /i pythonxy.msi /l*v python.log
...@@ -30,21 +28,14 @@ UINT __declspec(dllexport) __stdcall CheckDir(MSIHANDLE hInstall) ...@@ -30,21 +28,14 @@ UINT __declspec(dllexport) __stdcall CheckDir(MSIHANDLE hInstall)
DWORD size = PSIZE; DWORD size = PSIZE;
DWORD attributes; DWORD attributes;
isWinNT = (GetVersion() < 0x80000000) ? 1 : 0;
if (isWinNT) result = MsiGetPropertyW(hInstall, L"TARGETDIR", wpath, &size);
result = MsiGetPropertyW(hInstall, L"TARGETDIR", wpath, &size);
else
result = MsiGetPropertyA(hInstall, "TARGETDIR", path, &size);
if (result != ERROR_SUCCESS) if (result != ERROR_SUCCESS)
return result; return result;
wpath[size] = L'\0'; wpath[size] = L'\0';
path[size] = L'\0'; path[size] = L'\0';
if (isWinNT) attributes = GetFileAttributesW(wpath);
attributes = GetFileAttributesW(wpath);
else
attributes = GetFileAttributesA(path);
if (attributes == INVALID_FILE_ATTRIBUTES || if (attributes == INVALID_FILE_ATTRIBUTES ||
!(attributes & FILE_ATTRIBUTE_DIRECTORY)) !(attributes & FILE_ATTRIBUTE_DIRECTORY))
{ {
......
!IF "$(CPU)" == ""
# VS environment
# /OPT: REF and ICF are added by VS.NET by default # /OPT: REF and ICF are added by VS.NET by default
# NOWIN98 saves 7k of executable size, at the expense of some
# slowdown on Win98
msisupport.dll: msisupport.obj msisupport.dll: msisupport.obj
link.exe /OUT:msisupport.dll /INCREMENTAL:NO /NOLOGO /DLL /MACHINE:X86 /SUBSYSTEM:WINDOWS /OPT:REF /OPT:ICF /OPT:NOWIN98 msisupport.obj msi.lib kernel32.lib link.exe /OUT:msisupport.dll /INCREMENTAL:NO /NOLOGO /DLL /SUBSYSTEM:WINDOWS /OPT:REF /OPT:ICF msisupport.obj msi.lib kernel32.lib
# We request a static CRT, so that there will be no CRT dependencies # We request a static CRT, so that there will be no CRT dependencies
# for the target system. We cannot do without a CRT, since it provides # for the target system. We cannot do without a CRT, since it provides
# the DLL entry point. # the DLL entry point.
msisupport.obj: msisupport.c msisupport.obj: msisupport.c
cl /O2 /D WIN32 /D NDEBUG /D _WINDOWS /MT /W3 /c msisupport.c cl /O2 /D WIN32 /D NDEBUG /D _WINDOWS /MT /W3 /c msisupport.c
!ELSE
# SDK environment: assume all options are already correct
msisupport.dll: msisupport.obj
link.exe /OUT:msisupport.dll /INCREMENTAL:NO /NOLOGO /DLL msisupport.obj msi.lib kernel32.lib
msisupport.obj: msisupport.c
cl /O2 /D WIN32 /D NDEBUG /D _WINDOWS /MD /W3 /GS- /c msisupport.c
!ENDIF
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment