Skip to content

Commit 57ebeee

Browse files
committed
Uninstall sources v1.10.9.0
1 parent a2efcfe commit 57ebeee

File tree

7 files changed

+67
-23
lines changed

7 files changed

+67
-23
lines changed

Uninstall/src/UnInstall.def

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
LIBRARY <(MODULE)> BASE=0x68000000
21
EXPORTS
32
GetMinFarVersion
43
SetStartupInfo

Uninstall/src/UnInstall.hpp

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ struct KeyInfo
6565
bool Avail[KeysCount];
6666
RegKeyPath RegKey;
6767
FILETIME RegTime;
68+
TCHAR InstDate[10];
6869
REGSAM RegView;
6970
TCHAR SubKeyName[MAX_PATH];
7071
bool WindowsInstaller;
@@ -73,7 +74,8 @@ struct KeyInfo
7374
bool CanModify, CanRepair;
7475
} *p = NULL;
7576

76-
bool ValidGuid(const TCHAR* guid) {
77+
bool ValidGuid(const TCHAR* guid)
78+
{
7779
const unsigned c_max_guid_len = 38;
7880
wchar_t buf[c_max_guid_len + 1];
7981
ZeroMemory(buf, sizeof(buf));
@@ -133,6 +135,7 @@ bool FillReg(KeyInfo& key, TCHAR* Buf, RegKeyPath& RegKey, REGSAM RegView)
133135
FileTimeToLocalFileTime(&key.RegTime, &ft);
134136
FileTimeToSystemTime(&ft, &st);
135137
wsprintf(sKeyTime, _T(" / %02u.%02u.%04u %u:%02u:%02u"), st.wDay, st.wMonth, st.wYear, st.wHour, st.wMinute, st.wSecond);
138+
wsprintf(key.InstDate, _T("%02u.%02u.%02u"), st.wDay, st.wMonth, (st.wYear % 100));
136139
nKeyTimeLen = lstrlen(sKeyTime) + 1;
137140
}
138141
for (int i=0;i<KeysCount;i++)
@@ -184,6 +187,24 @@ bool FillReg(KeyInfo& key, TCHAR* Buf, RegKeyPath& RegKey, REGSAM RegView)
184187
else
185188
{
186189
key.Avail[i] = TRUE;
190+
if (i == InstallDate)
191+
{
192+
// 20101105
193+
if (lstrlen(key.Keys[i]) == 8)
194+
{
195+
TCHAR *pszEnd = 0;
196+
DWORD ulDate = _tcstoul(key.Keys[i], &pszEnd, 10);
197+
if (ulDate)
198+
{
199+
DWORD nDay = ulDate % 100; ulDate = (ulDate - nDay) / 100;
200+
DWORD nMon = ulDate % 100; ulDate = (ulDate - nMon) / 100;
201+
if (ulDate && nMon && nDay)
202+
{
203+
wsprintf(key.InstDate, _T("%02u.%02u.%02u"), nDay, nMon, (ulDate % 100));
204+
}
205+
}
206+
}
207+
}
187208
if (i == InstallDate && nKeyTimeLen) StringCchCat(key.Keys[i], ARRAYSIZE(key.Keys[i]), sKeyTime);
188209
}
189210
}
@@ -192,6 +213,9 @@ bool FillReg(KeyInfo& key, TCHAR* Buf, RegKeyPath& RegKey, REGSAM RegView)
192213
if ((key.Keys[ModifyPath][0] == 0) && (key.Keys[UninstallString][0] == 0))
193214
key.Hidden = true;
194215

216+
if (key.InstDate[0] == 0)
217+
StringCchCopy(key.InstDate, ARRAYSIZE(key.InstDate), _T(" "));
218+
195219
if (key.WindowsInstaller)
196220
{
197221
key.CanModify = !key.NoModify;
@@ -306,8 +330,10 @@ void DisplayEntry(int Sel)
306330
FarDialogItem* DialogItems = new FarDialogItem[di_cnt];
307331
unsigned y = 2;
308332
unsigned idx = 1;
309-
for (int i=0;i<KeysCount;i++) {
310-
if (p[Sel].Avail[i]) {
333+
for (int i=0;i<KeysCount;i++)
334+
{
335+
if (p[Sel].Avail[i])
336+
{
311337
FillDialog(DialogItems[idx], DI_TEXT, 5, y, 0, y, 0, MName + i);
312338
idx++;
313339
y++;
@@ -673,6 +699,8 @@ void UpDateInfo(void)
673699
else
674700
StringCchCat(text, MaxSize, sHKCU);
675701

702+
StringCchCat(text, MaxSize, _T(" "));
703+
StringCchCat(text, MaxSize, p[i].InstDate);
676704
StringCchCat(text, MaxSize, _T(" "));
677705
StringCchCat(text, MaxSize, (p[i].WindowsInstaller) ? _T("W") : _T(" "));
678706
StringCchCat(text, MaxSize, (p[i].CanModify) ? _T("M") : _T(" "));

Uninstall/src/UnInstallW.def

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
LIBRARY <(MODULE)> BASE=0x68000000
21
EXPORTS
32
GetMinFarVersion
43
GetMinFarVersionW

Uninstall/src/WhatsNew.Rus.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
v1.10.8 // Maximus5
1+
v1.10.9
2+
- в списке 'Entries' добавлена "колонка" с датой установки.
3+
4+
v1.10.8 // Maximus5
25
- в списке 'Entries' добавлена "колонка" с информацией о том, где нашли элемент: HKLM/HKCU/Mx86/Mx64
36
- там же, в x64 OS задваивались элементы из HKCU (как я понимаю, в HKCU не работают KEY_WOW64_64KEY/KEY_WOW64_32KEY)
47
- там же, добавлена "колонка" в которой отображаются некоторые 'флаги'

Uninstall/src/makefile

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,29 +4,41 @@ TOOLSDIR = .\tools
44

55
CPPFLAGS = -nologo -Zi -W3 -Gy -GS -GR -EHsc -MP -c
66
DEFINES = -DWIN32_LEAN_AND_MEAN -D_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1 -D_WIN32_WINNT=0x0500 -D_FAR_USE_FARFINDDATA -DSTRSAFE_NO_DEPRECATE
7-
LINKFLAGS = -nologo -debug -incremental:no -map -manifest:no -dynamicbase -nxcompat -largeaddressaware -dll
7+
LINKFLAGS = -nologo -debug -incremental:no -map -manifest:no -dynamicbase -nxcompat -largeaddressaware -dll -base:0x68000000
88
RCFLAGS = -nologo
99

1010
!if "$(CPU)" == "AMD64" || "$(PLATFORM)" == "x64"
1111
PLATFORM = x64
1212
LIBSUFFIX = 64
13+
!ifdef WIDE
14+
DLLSUFFIX = W64
15+
!else
16+
DLLSUFFIX = A64
17+
!endif
1318
RCFLAGS = $(RCFLAGS) -Dx64
1419
!else
1520
PLATFORM = x86
21+
!ifdef WIDE
22+
DLLSUFFIX = W
23+
!else
24+
DLLSUFFIX = A
25+
!endif
1626
LINKFLAGS = $(LINKFLAGS) -safeseh
1727
LIBSUFFIX = 32
1828
!endif
1929

30+
MODULEFULL=$(MODULE)$(DLLSUFFIX)
31+
2032
!ifdef RELEASE
2133
OUTDIR = ..\Release
2234
DEFINES = $(DEFINES) -DNDEBUG
2335
CPPFLAGS = $(CPPFLAGS) -O1 -GL -MT
24-
LINKFLAGS = $(LINKFLAGS) -opt:ref -opt:icf -LTCG
36+
LINKFLAGS = $(LINKFLAGS) -opt:ref -opt:icf -LTCG /pdb:".\$(OUTDIR)\$(MODULE)$(DLLSUFFIX).pdb"
2537
!else
2638
OUTDIR = ..\Debug
2739
DEFINES = $(DEFINES) -DDEBUG
2840
CPPFLAGS = $(CPPFLAGS) -Od -RTC1 -MTd
29-
LINKFLAGS = $(LINKFLAGS) -fixed:no
41+
LINKFLAGS = $(LINKFLAGS) -fixed:no /pdb:".\$(OUTDIR)\$(MODULE)$(DLLSUFFIX).pdb"
3042
LIBSUFFIX=$(LIBSUFFIX)d
3143
!endif
3244

@@ -61,11 +73,11 @@ project: depfile $(OUTDIR)\far.ini
6173
distrib: depfile $(OUTDIR)\far.ini
6274
$(MAKE) -nologo -$(MAKEFLAGS) build_distrib BUILD=1
6375

64-
build_project: $(OUTDIR)\$(MODULE).dll $(OUTDIR)\UnInstall_Eng.lng $(OUTDIR)\UnInstall_Rus.lng \
76+
build_project: $(OUTDIR)\$(MODULE)$(DLLSUFFIX).dll $(OUTDIR)\UnInstall_Eng.lng $(OUTDIR)\UnInstall_Rus.lng \
6577
$(OUTDIR)\UnInstall_Eng.hlf $(OUTDIR)\UnInstall_Rus.hlf $(OUTDIR)\File_ID.diz \
6678
$(OUTDIR)\ReadMe.Rus.txt $(OUTDIR)\WhatsNew.Rus.txt
6779

68-
$(OUTDIR)\$(MODULE).dll: $(OUTDIR)\plugin.def $(OBJS) $(OUTDIR)\UnInstall.res project.ini
80+
$(OUTDIR)\$(MODULE)$(DLLSUFFIX).dll: $(OUTDIR)\plugin.def $(OBJS) $(OUTDIR)\UnInstall.res project.ini
6981
link $(LINKFLAGS) -def:$(OUTDIR)\plugin.def -out:$@ $(OBJS) $(OUTDIR)\UnInstall.res $(LIBS)
7082

7183
.cpp{$(OUTDIR)}.obj::
@@ -139,13 +151,13 @@ DISTRIB = $(OUTDIR)\$(MODULE)_$(VER_MAJOR).$(VER_MINOR).$(VER_PATCH)
139151
!ifndef OLDFAR
140152
DISTRIB = $(DISTRIB)_uni
141153
!endif
142-
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
154+
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
143155
!if "$(PLATFORM)" != "x86"
144156
DISTRIB = $(DISTRIB)_$(PLATFORM)
145157
!endif
146158
!ifndef RELEASE
147159
DISTRIB = $(DISTRIB)_dbg
148-
DISTRIB_FILES = $(DISTRIB_FILES) .\$(OUTDIR)\$(MODULE).pdb
160+
DISTRIB_FILES = $(DISTRIB_FILES) .\$(OUTDIR)\$(MODULE)$(DLLSUFFIX).pdb
149161
!endif
150162

151163
build_distrib: $(DISTRIB).7z

Uninstall/src/project.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
MODULE = UnInstall
33
VER_MAJOR = 1
44
VER_MINOR = 10
5-
VER_PATCH = 8
5+
VER_PATCH = 9

Uninstall/src/vc.build.release.bat

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,24 @@ if exist "%VS90COMNTOOLS%..\..\VC\BIN\vcvars32.bat" (
1111
set WIDE=1
1212
set IA64=
1313
set AMD64=
14+
set CPU=
15+
set PLATFORM=
1416
set DEBUG=
1517
set RELEASE=1
1618

1719
nmake /A /B /F %MAKEFILE%
1820
rem nmake /F %MAKEFILE%
1921
if errorlevel 1 goto end
2022

21-
rem rem call "%VS90COMNTOOLS%..\..\VC\BIN\vcvarsx86_amd64.bat"
22-
rem if exist "%VS90COMNTOOLS%..\..\VC\BIN\vcvarsx86_amd64.bat" (
23-
rem call "%VS90COMNTOOLS%..\..\VC\BIN\vcvarsx86_amd64.bat"
24-
rem ) else (
25-
rem call "C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvarsx86_amd64.bat"
26-
rem )
27-
rem set AMD64=1
28-
rem nmake /A /B /F %MAKEFILE%
29-
rem rem nmake /F %MAKEFILE%
23+
if exist "%VS90COMNTOOLS%..\..\VC\BIN\vcvarsx86_amd64.bat" (
24+
call "%VS90COMNTOOLS%..\..\VC\BIN\vcvarsx86_amd64.bat"
25+
) else (
26+
call "C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvarsx86_amd64.bat"
27+
)
28+
set AMD64=1
29+
set CPU=AMD64
30+
set PLATFORM=x64
31+
nmake /A /B /F %MAKEFILE%
32+
rem nmake /F %MAKEFILE%
3033

3134
:end

0 commit comments

Comments
 (0)