diff --git a/Uninstall/src/UnInstall.def b/Uninstall/src/UnInstall.def index 36400a3..0db59d1 100644 --- a/Uninstall/src/UnInstall.def +++ b/Uninstall/src/UnInstall.def @@ -1,4 +1,3 @@ -LIBRARY <(MODULE)> BASE=0x68000000 EXPORTS GetMinFarVersion SetStartupInfo diff --git a/Uninstall/src/UnInstall.hpp b/Uninstall/src/UnInstall.hpp index c332597..61a6070 100644 --- a/Uninstall/src/UnInstall.hpp +++ b/Uninstall/src/UnInstall.hpp @@ -65,6 +65,7 @@ struct KeyInfo bool Avail[KeysCount]; RegKeyPath RegKey; FILETIME RegTime; + TCHAR InstDate[10]; REGSAM RegView; TCHAR SubKeyName[MAX_PATH]; bool WindowsInstaller; @@ -73,7 +74,8 @@ struct KeyInfo bool CanModify, CanRepair; } *p = NULL; -bool ValidGuid(const TCHAR* guid) { +bool ValidGuid(const TCHAR* guid) +{ const unsigned c_max_guid_len = 38; wchar_t buf[c_max_guid_len + 1]; ZeroMemory(buf, sizeof(buf)); @@ -133,6 +135,7 @@ bool FillReg(KeyInfo& key, TCHAR* Buf, RegKeyPath& RegKey, REGSAM RegView) FileTimeToLocalFileTime(&key.RegTime, &ft); FileTimeToSystemTime(&ft, &st); wsprintf(sKeyTime, _T(" / %02u.%02u.%04u %u:%02u:%02u"), st.wDay, st.wMonth, st.wYear, st.wHour, st.wMinute, st.wSecond); + wsprintf(key.InstDate, _T("%02u.%02u.%02u"), st.wDay, st.wMonth, (st.wYear % 100)); nKeyTimeLen = lstrlen(sKeyTime) + 1; } for (int i=0;i BASE=0x68000000 EXPORTS GetMinFarVersion GetMinFarVersionW diff --git a/Uninstall/src/WhatsNew.Rus.txt b/Uninstall/src/WhatsNew.Rus.txt index 763b3b2..782761e 100644 --- a/Uninstall/src/WhatsNew.Rus.txt +++ b/Uninstall/src/WhatsNew.Rus.txt @@ -1,4 +1,7 @@ -v1.10.8 // Maximus5 +v1.10.9 + - в списке 'Entries' добавлена "колонка" с датой установки. + +v1.10.8 // Maximus5 - в списке 'Entries' добавлена "колонка" с информацией о том, где нашли элемент: HKLM/HKCU/Mx86/Mx64 - там же, в x64 OS задваивались элементы из HKCU (как я понимаю, в HKCU не работают KEY_WOW64_64KEY/KEY_WOW64_32KEY) - там же, добавлена "колонка" в которой отображаются некоторые 'флаги' diff --git a/Uninstall/src/makefile b/Uninstall/src/makefile index 18741f7..3660d3c 100644 --- a/Uninstall/src/makefile +++ b/Uninstall/src/makefile @@ -4,29 +4,41 @@ TOOLSDIR = .\tools CPPFLAGS = -nologo -Zi -W3 -Gy -GS -GR -EHsc -MP -c DEFINES = -DWIN32_LEAN_AND_MEAN -D_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1 -D_WIN32_WINNT=0x0500 -D_FAR_USE_FARFINDDATA -DSTRSAFE_NO_DEPRECATE -LINKFLAGS = -nologo -debug -incremental:no -map -manifest:no -dynamicbase -nxcompat -largeaddressaware -dll +LINKFLAGS = -nologo -debug -incremental:no -map -manifest:no -dynamicbase -nxcompat -largeaddressaware -dll -base:0x68000000 RCFLAGS = -nologo !if "$(CPU)" == "AMD64" || "$(PLATFORM)" == "x64" PLATFORM = x64 LIBSUFFIX = 64 +!ifdef WIDE +DLLSUFFIX = W64 +!else +DLLSUFFIX = A64 +!endif RCFLAGS = $(RCFLAGS) -Dx64 !else PLATFORM = x86 +!ifdef WIDE +DLLSUFFIX = W +!else +DLLSUFFIX = A +!endif LINKFLAGS = $(LINKFLAGS) -safeseh LIBSUFFIX = 32 !endif +MODULEFULL=$(MODULE)$(DLLSUFFIX) + !ifdef RELEASE OUTDIR = ..\Release DEFINES = $(DEFINES) -DNDEBUG CPPFLAGS = $(CPPFLAGS) -O1 -GL -MT -LINKFLAGS = $(LINKFLAGS) -opt:ref -opt:icf -LTCG +LINKFLAGS = $(LINKFLAGS) -opt:ref -opt:icf -LTCG /pdb:".\$(OUTDIR)\$(MODULE)$(DLLSUFFIX).pdb" !else OUTDIR = ..\Debug DEFINES = $(DEFINES) -DDEBUG CPPFLAGS = $(CPPFLAGS) -Od -RTC1 -MTd -LINKFLAGS = $(LINKFLAGS) -fixed:no +LINKFLAGS = $(LINKFLAGS) -fixed:no /pdb:".\$(OUTDIR)\$(MODULE)$(DLLSUFFIX).pdb" LIBSUFFIX=$(LIBSUFFIX)d !endif @@ -61,11 +73,11 @@ project: depfile $(OUTDIR)\far.ini distrib: depfile $(OUTDIR)\far.ini $(MAKE) -nologo -$(MAKEFLAGS) build_distrib BUILD=1 -build_project: $(OUTDIR)\$(MODULE).dll $(OUTDIR)\UnInstall_Eng.lng $(OUTDIR)\UnInstall_Rus.lng \ +build_project: $(OUTDIR)\$(MODULE)$(DLLSUFFIX).dll $(OUTDIR)\UnInstall_Eng.lng $(OUTDIR)\UnInstall_Rus.lng \ $(OUTDIR)\UnInstall_Eng.hlf $(OUTDIR)\UnInstall_Rus.hlf $(OUTDIR)\File_ID.diz \ $(OUTDIR)\ReadMe.Rus.txt $(OUTDIR)\WhatsNew.Rus.txt -$(OUTDIR)\$(MODULE).dll: $(OUTDIR)\plugin.def $(OBJS) $(OUTDIR)\UnInstall.res project.ini +$(OUTDIR)\$(MODULE)$(DLLSUFFIX).dll: $(OUTDIR)\plugin.def $(OBJS) $(OUTDIR)\UnInstall.res project.ini link $(LINKFLAGS) -def:$(OUTDIR)\plugin.def -out:$@ $(OBJS) $(OUTDIR)\UnInstall.res $(LIBS) .cpp{$(OUTDIR)}.obj:: @@ -139,13 +151,13 @@ DISTRIB = $(OUTDIR)\$(MODULE)_$(VER_MAJOR).$(VER_MINOR).$(VER_PATCH) !ifndef OLDFAR DISTRIB = $(DISTRIB)_uni !endif -DISTRIB_FILES = .\$(OUTDIR)\$(MODULE).dll .\$(OUTDIR)\$(MODULE).map .\$(OUTDIR)\UnInstall_Eng.lng .\$(OUTDIR)\UnInstall_Rus.lng .\$(OUTDIR)\UnInstall_Eng.hlf .\$(OUTDIR)\UnInstall_Rus.hlf .\$(OUTDIR)\File_ID.diz .\$(OUTDIR)\ReadMe.Rus.txt .\$(OUTDIR)\WhatsNew.Rus.txt .\TechInfo.Rus.reg +DISTRIB_FILES = .\$(OUTDIR)\$(MODULE)$(DLLSUFFIX).dll .\$(OUTDIR)\$(MODULE)$(DLLSUFFIX).map .\$(OUTDIR)\UnInstall_Eng.lng .\$(OUTDIR)\UnInstall_Rus.lng .\$(OUTDIR)\UnInstall_Eng.hlf .\$(OUTDIR)\UnInstall_Rus.hlf .\$(OUTDIR)\File_ID.diz .\$(OUTDIR)\ReadMe.Rus.txt .\$(OUTDIR)\WhatsNew.Rus.txt .\TechInfo.Rus.reg !if "$(PLATFORM)" != "x86" DISTRIB = $(DISTRIB)_$(PLATFORM) !endif !ifndef RELEASE DISTRIB = $(DISTRIB)_dbg -DISTRIB_FILES = $(DISTRIB_FILES) .\$(OUTDIR)\$(MODULE).pdb +DISTRIB_FILES = $(DISTRIB_FILES) .\$(OUTDIR)\$(MODULE)$(DLLSUFFIX).pdb !endif build_distrib: $(DISTRIB).7z diff --git a/Uninstall/src/project.ini b/Uninstall/src/project.ini index 11ad39d..7f31cf1 100644 --- a/Uninstall/src/project.ini +++ b/Uninstall/src/project.ini @@ -2,4 +2,4 @@ MODULE = UnInstall VER_MAJOR = 1 VER_MINOR = 10 -VER_PATCH = 8 +VER_PATCH = 9 diff --git a/Uninstall/src/vc.build.release.bat b/Uninstall/src/vc.build.release.bat index b378d61..7e3ffd2 100644 --- a/Uninstall/src/vc.build.release.bat +++ b/Uninstall/src/vc.build.release.bat @@ -11,6 +11,8 @@ if exist "%VS90COMNTOOLS%..\..\VC\BIN\vcvars32.bat" ( set WIDE=1 set IA64= set AMD64= +set CPU= +set PLATFORM= set DEBUG= set RELEASE=1 @@ -18,14 +20,15 @@ nmake /A /B /F %MAKEFILE% rem nmake /F %MAKEFILE% if errorlevel 1 goto end -rem rem call "%VS90COMNTOOLS%..\..\VC\BIN\vcvarsx86_amd64.bat" -rem if exist "%VS90COMNTOOLS%..\..\VC\BIN\vcvarsx86_amd64.bat" ( -rem call "%VS90COMNTOOLS%..\..\VC\BIN\vcvarsx86_amd64.bat" -rem ) else ( -rem call "C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvarsx86_amd64.bat" -rem ) -rem set AMD64=1 -rem nmake /A /B /F %MAKEFILE% -rem rem nmake /F %MAKEFILE% +if exist "%VS90COMNTOOLS%..\..\VC\BIN\vcvarsx86_amd64.bat" ( + call "%VS90COMNTOOLS%..\..\VC\BIN\vcvarsx86_amd64.bat" +) else ( + call "C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvarsx86_amd64.bat" +) +set AMD64=1 +set CPU=AMD64 +set PLATFORM=x64 +nmake /A /B /F %MAKEFILE% +rem nmake /F %MAKEFILE% :end