Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
fa932884
Kaydet (Commit)
fa932884
authored
Eyl 12, 2011
tarafından
Tor Lillqvist
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Drop Win9x code
üst
76983359
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
12 additions
and
216 deletions
+12
-216
checkrunningofficelanguagepack.cxx
...mactions/languagepacks/checkrunningofficelanguagepack.cxx
+2
-70
swappatchfiles.cxx
...ative/source/win32/customactions/patch/swappatchfiles.cxx
+8
-76
checkrunningoffice.cxx
...in32/customactions/shellextensions/checkrunningoffice.cxx
+2
-70
No files found.
setup_native/source/win32/customactions/languagepacks/checkrunningofficelanguagepack.cxx
Dosyayı görüntüle @
fa932884
...
...
@@ -109,74 +109,6 @@ static inline void SetMsiProperty(MSIHANDLE handle, const std::_tstring& sProper
MsiSetProperty
(
handle
,
sProperty
.
c_str
(),
TEXT
(
"1"
));
}
static
BOOL
MoveFileEx9x
(
LPCSTR
lpExistingFileNameA
,
LPCSTR
lpNewFileNameA
,
DWORD
dwFlags
)
{
BOOL
fSuccess
=
FALSE
;
// assume failure
// Windows 9x has a special mechanism to move files after reboot
if
(
dwFlags
&
MOVEFILE_DELAY_UNTIL_REBOOT
)
{
CHAR
szExistingFileNameA
[
MAX_PATH
];
CHAR
szNewFileNameA
[
MAX_PATH
]
=
"NUL"
;
// Path names in WININIT.INI must be in short path name form
if
(
GetShortPathNameA
(
lpExistingFileNameA
,
szExistingFileNameA
,
MAX_PATH
)
&&
(
!
lpNewFileNameA
||
GetShortPathNameA
(
lpNewFileNameA
,
szNewFileNameA
,
MAX_PATH
))
)
{
CHAR
szBuffer
[
32767
];
// The buffer size must not exceed 32K
DWORD
dwBufLen
=
GetPrivateProfileSectionA
(
RENAME_SECTION
,
szBuffer
,
SAL_N_ELEMENTS
(
szBuffer
),
WININIT_FILENAME
);
CHAR
szRename
[
MAX_PATH
];
// This is enough for at most to times 67 chracters
strcpy
(
szRename
,
szNewFileNameA
);
strcat
(
szRename
,
"="
);
strcat
(
szRename
,
szExistingFileNameA
);
size_t
lnRename
=
strlen
(
szRename
);
if
(
dwBufLen
+
lnRename
+
2
<=
SAL_N_ELEMENTS
(
szBuffer
)
)
{
CopyMemory
(
&
szBuffer
[
dwBufLen
],
szRename
,
lnRename
);
szBuffer
[
dwBufLen
+
lnRename
]
=
0
;
szBuffer
[
dwBufLen
+
lnRename
+
1
]
=
0
;
fSuccess
=
WritePrivateProfileSectionA
(
RENAME_SECTION
,
szBuffer
,
WININIT_FILENAME
);
}
else
SetLastError
(
ERROR_BUFFER_OVERFLOW
);
}
}
else
{
fSuccess
=
MoveFileA
(
lpExistingFileNameA
,
lpNewFileNameA
);
if
(
!
fSuccess
&&
GetLastError
()
!=
ERROR_ACCESS_DENIED
&&
0
!=
(
dwFlags
&
(
MOVEFILE_COPY_ALLOWED
|
MOVEFILE_REPLACE_EXISTING
))
)
{
BOOL
bFailIfExist
=
0
==
(
dwFlags
&
MOVEFILE_REPLACE_EXISTING
);
fSuccess
=
CopyFileA
(
lpExistingFileNameA
,
lpNewFileNameA
,
bFailIfExist
);
if
(
fSuccess
)
fSuccess
=
DeleteFileA
(
lpExistingFileNameA
);
}
}
return
fSuccess
;
}
static
BOOL
MoveFileExImpl
(
LPCSTR
lpExistingFileNameA
,
LPCSTR
lpNewFileNameA
,
DWORD
dwFlags
)
{
if
(
0
>
((
LONG
)
GetVersion
()))
// High order bit indicates Win 9x
return
MoveFileEx9x
(
lpExistingFileNameA
,
lpNewFileNameA
,
dwFlags
);
else
return
MoveFileExA
(
lpExistingFileNameA
,
lpNewFileNameA
,
dwFlags
);
}
extern
"C"
UINT
__stdcall
IsOfficeRunning
(
MSIHANDLE
handle
)
{
std
::
_tstring
sInstDir
=
GetMsiProperty
(
handle
,
TEXT
(
"INSTALLLOCATION"
)
);
...
...
@@ -196,10 +128,10 @@ extern "C" UINT __stdcall IsOfficeRunning( MSIHANDLE handle )
std
::
_tstring
sResourceFile
=
sResourceDir
+
aFindFileData
.
cFileName
;
std
::
_tstring
sIntermediate
=
sResourceFile
+
TEXT
(
".tmp"
);
fRenameSucceeded
=
MoveFileEx
Impl
(
sResourceFile
.
c_str
(),
sIntermediate
.
c_str
(),
MOVEFILE_REPLACE_EXISTING
);
fRenameSucceeded
=
MoveFileEx
A
(
sResourceFile
.
c_str
(),
sIntermediate
.
c_str
(),
MOVEFILE_REPLACE_EXISTING
);
if
(
fRenameSucceeded
)
{
MoveFileEx
Impl
(
sIntermediate
.
c_str
(),
sResourceFile
.
c_str
(),
0
);
MoveFileEx
A
(
sIntermediate
.
c_str
(),
sResourceFile
.
c_str
(),
0
);
fSuccess
=
FindNextFile
(
hFind
,
&
aFindFileData
);
}
}
while
(
fSuccess
&&
fRenameSucceeded
);
...
...
setup_native/source/win32/customactions/patch/swappatchfiles.cxx
Dosyayı görüntüle @
fa932884
...
...
@@ -178,74 +178,6 @@ static inline void SetMsiProperty(MSIHANDLE handle, const std::_tstring& sProper
MsiSetProperty
(
handle
,
sProperty
.
c_str
(),
TEXT
(
"1"
));
}
static
BOOL
MoveFileEx9x
(
LPCSTR
lpExistingFileNameA
,
LPCSTR
lpNewFileNameA
,
DWORD
dwFlags
)
{
BOOL
fSuccess
=
FALSE
;
// assume failure
// Windows 9x has a special mechanism to move files after reboot
if
(
dwFlags
&
MOVEFILE_DELAY_UNTIL_REBOOT
)
{
CHAR
szExistingFileNameA
[
MAX_PATH
];
CHAR
szNewFileNameA
[
MAX_PATH
]
=
"NUL"
;
// Path names in WININIT.INI must be in short path name form
if
(
GetShortPathNameA
(
lpExistingFileNameA
,
szExistingFileNameA
,
MAX_PATH
)
&&
(
!
lpNewFileNameA
||
GetShortPathNameA
(
lpNewFileNameA
,
szNewFileNameA
,
MAX_PATH
))
)
{
CHAR
szBuffer
[
32767
];
// The buffer size must not exceed 32K
DWORD
dwBufLen
=
GetPrivateProfileSectionA
(
RENAME_SECTION
,
szBuffer
,
SAL_N_ELEMENTS
(
szBuffer
),
WININIT_FILENAME
);
CHAR
szRename
[
MAX_PATH
];
// This is enough for at most to times 67 chracters
strcpy
(
szRename
,
szNewFileNameA
);
strcat
(
szRename
,
"="
);
strcat
(
szRename
,
szExistingFileNameA
);
size_t
lnRename
=
strlen
(
szRename
);
if
(
dwBufLen
+
lnRename
+
2
<=
SAL_N_ELEMENTS
(
szBuffer
)
)
{
CopyMemory
(
&
szBuffer
[
dwBufLen
],
szRename
,
lnRename
);
szBuffer
[
dwBufLen
+
lnRename
]
=
0
;
szBuffer
[
dwBufLen
+
lnRename
+
1
]
=
0
;
fSuccess
=
WritePrivateProfileSectionA
(
RENAME_SECTION
,
szBuffer
,
WININIT_FILENAME
);
}
else
SetLastError
(
ERROR_BUFFER_OVERFLOW
);
}
}
else
{
fSuccess
=
MoveFileA
(
lpExistingFileNameA
,
lpNewFileNameA
);
if
(
!
fSuccess
&&
GetLastError
()
!=
ERROR_ACCESS_DENIED
&&
0
!=
(
dwFlags
&
(
MOVEFILE_COPY_ALLOWED
|
MOVEFILE_REPLACE_EXISTING
))
)
{
BOOL
bFailIfExist
=
0
==
(
dwFlags
&
MOVEFILE_REPLACE_EXISTING
);
fSuccess
=
CopyFileA
(
lpExistingFileNameA
,
lpNewFileNameA
,
bFailIfExist
);
if
(
fSuccess
)
fSuccess
=
DeleteFileA
(
lpExistingFileNameA
);
}
}
return
fSuccess
;
}
static
BOOL
MoveFileExImpl
(
LPCSTR
lpExistingFileNameA
,
LPCSTR
lpNewFileNameA
,
DWORD
dwFlags
)
{
if
(
0
>
((
LONG
)
GetVersion
()))
// High order bit indicates Win 9x
return
MoveFileEx9x
(
lpExistingFileNameA
,
lpNewFileNameA
,
dwFlags
);
else
return
MoveFileExA
(
lpExistingFileNameA
,
lpNewFileNameA
,
dwFlags
);
}
static
bool
SwapFiles
(
const
std
::
_tstring
&
sFileName1
,
const
std
::
_tstring
&
sFileName2
)
{
std
::
_tstring
sTempFileName
=
sFileName1
+
TEXT
(
".tmp"
);
...
...
@@ -253,26 +185,26 @@ static bool SwapFiles( const std::_tstring& sFileName1, const std::_tstring& sFi
bool
fSuccess
=
true
;
//Try to move the original file to a temp file
fSuccess
=
MoveFileEx
Impl
(
sFileName1
.
c_str
(),
sTempFileName
.
c_str
(),
MOVEFILE_REPLACE_EXISTING
);
fSuccess
=
MoveFileEx
A
(
sFileName1
.
c_str
(),
sTempFileName
.
c_str
(),
MOVEFILE_REPLACE_EXISTING
);
std
::
_tstring
mystr
;
if
(
fSuccess
)
{
fSuccess
=
MoveFileEx
Impl
(
sFileName2
.
c_str
(),
sFileName1
.
c_str
(),
MOVEFILE_REPLACE_EXISTING
);
fSuccess
=
MoveFileEx
A
(
sFileName2
.
c_str
(),
sFileName1
.
c_str
(),
MOVEFILE_REPLACE_EXISTING
);
if
(
fSuccess
)
{
fSuccess
=
MoveFileEx
Impl
(
sTempFileName
.
c_str
(),
sFileName2
.
c_str
(),
fSuccess
=
MoveFileEx
A
(
sTempFileName
.
c_str
(),
sFileName2
.
c_str
(),
MOVEFILE_REPLACE_EXISTING
);
if
(
!
fSuccess
)
{
MoveFileEx
Impl
(
sFileName1
.
c_str
(),
sFileName2
.
c_str
(),
MOVEFILE_REPLACE_EXISTING
);
MoveFileEx
A
(
sFileName1
.
c_str
(),
sFileName2
.
c_str
(),
MOVEFILE_REPLACE_EXISTING
);
}
}
else
{
MoveFileEx
Impl
(
sTempFileName
.
c_str
(),
sFileName1
.
c_str
(),
MOVEFILE_REPLACE_EXISTING
);
MoveFileEx
A
(
sTempFileName
.
c_str
(),
sFileName1
.
c_str
(),
MOVEFILE_REPLACE_EXISTING
);
}
}
else
...
...
@@ -284,7 +216,7 @@ static bool SwapFiles( const std::_tstring& sFileName1, const std::_tstring& sFi
HANDLE
hdl
=
FindFirstFile
(
sFileName1
.
c_str
(),
&
data
);
if
(
hdl
==
INVALID_HANDLE_VALUE
)
{
fSuccess
=
MoveFileEx
Impl
(
sFileName2
.
c_str
(),
sFileName1
.
c_str
(),
MOVEFILE_REPLACE_EXISTING
);
fSuccess
=
MoveFileEx
A
(
sFileName2
.
c_str
(),
sFileName1
.
c_str
(),
MOVEFILE_REPLACE_EXISTING
);
}
else
{
...
...
@@ -668,10 +600,10 @@ extern "C" UINT __stdcall IsOfficeRunning( MSIHANDLE handle )
std
::
_tstring
sResourceFile
=
sResourceDir
+
aFindFileData
.
cFileName
;
std
::
_tstring
sIntermediate
=
sResourceFile
+
TEXT
(
".tmp"
);
fRenameSucceeded
=
MoveFileEx
Impl
(
sResourceFile
.
c_str
(),
sIntermediate
.
c_str
(),
MOVEFILE_REPLACE_EXISTING
);
fRenameSucceeded
=
MoveFileEx
A
(
sResourceFile
.
c_str
(),
sIntermediate
.
c_str
(),
MOVEFILE_REPLACE_EXISTING
);
if
(
fRenameSucceeded
)
{
MoveFileEx
Impl
(
sIntermediate
.
c_str
(),
sResourceFile
.
c_str
(),
0
);
MoveFileEx
A
(
sIntermediate
.
c_str
(),
sResourceFile
.
c_str
(),
0
);
fSuccess
=
FindNextFile
(
hFind
,
&
aFindFileData
);
}
}
while
(
fSuccess
&&
fRenameSucceeded
);
...
...
setup_native/source/win32/customactions/shellextensions/checkrunningoffice.cxx
Dosyayı görüntüle @
fa932884
...
...
@@ -109,74 +109,6 @@ static inline void SetMsiProperty(MSIHANDLE handle, const std::_tstring& sProper
MsiSetProperty
(
handle
,
sProperty
.
c_str
(),
TEXT
(
"1"
));
}
static
BOOL
MoveFileEx9x
(
LPCSTR
lpExistingFileNameA
,
LPCSTR
lpNewFileNameA
,
DWORD
dwFlags
)
{
BOOL
fSuccess
=
FALSE
;
// assume failure
// Windows 9x has a special mechanism to move files after reboot
if
(
dwFlags
&
MOVEFILE_DELAY_UNTIL_REBOOT
)
{
CHAR
szExistingFileNameA
[
MAX_PATH
];
CHAR
szNewFileNameA
[
MAX_PATH
]
=
"NUL"
;
// Path names in WININIT.INI must be in short path name form
if
(
GetShortPathNameA
(
lpExistingFileNameA
,
szExistingFileNameA
,
MAX_PATH
)
&&
(
!
lpNewFileNameA
||
GetShortPathNameA
(
lpNewFileNameA
,
szNewFileNameA
,
MAX_PATH
))
)
{
CHAR
szBuffer
[
32767
];
// The buffer size must not exceed 32K
DWORD
dwBufLen
=
GetPrivateProfileSectionA
(
RENAME_SECTION
,
szBuffer
,
SAL_N_ELEMENTS
(
szBuffer
),
WININIT_FILENAME
);
CHAR
szRename
[
MAX_PATH
];
// This is enough for at most to times 67 chracters
strcpy
(
szRename
,
szNewFileNameA
);
strcat
(
szRename
,
"="
);
strcat
(
szRename
,
szExistingFileNameA
);
size_t
lnRename
=
strlen
(
szRename
);
if
(
dwBufLen
+
lnRename
+
2
<=
SAL_N_ELEMENTS
(
szBuffer
)
)
{
CopyMemory
(
&
szBuffer
[
dwBufLen
],
szRename
,
lnRename
);
szBuffer
[
dwBufLen
+
lnRename
]
=
0
;
szBuffer
[
dwBufLen
+
lnRename
+
1
]
=
0
;
fSuccess
=
WritePrivateProfileSectionA
(
RENAME_SECTION
,
szBuffer
,
WININIT_FILENAME
);
}
else
SetLastError
(
ERROR_BUFFER_OVERFLOW
);
}
}
else
{
fSuccess
=
MoveFileA
(
lpExistingFileNameA
,
lpNewFileNameA
);
if
(
!
fSuccess
&&
GetLastError
()
!=
ERROR_ACCESS_DENIED
&&
0
!=
(
dwFlags
&
(
MOVEFILE_COPY_ALLOWED
|
MOVEFILE_REPLACE_EXISTING
))
)
{
BOOL
bFailIfExist
=
0
==
(
dwFlags
&
MOVEFILE_REPLACE_EXISTING
);
fSuccess
=
CopyFileA
(
lpExistingFileNameA
,
lpNewFileNameA
,
bFailIfExist
);
if
(
fSuccess
)
fSuccess
=
DeleteFileA
(
lpExistingFileNameA
);
}
}
return
fSuccess
;
}
static
BOOL
MoveFileExImpl
(
LPCSTR
lpExistingFileNameA
,
LPCSTR
lpNewFileNameA
,
DWORD
dwFlags
)
{
if
(
0
>
((
LONG
)
GetVersion
()))
// High order bit indicates Win 9x
return
MoveFileEx9x
(
lpExistingFileNameA
,
lpNewFileNameA
,
dwFlags
);
else
return
MoveFileExA
(
lpExistingFileNameA
,
lpNewFileNameA
,
dwFlags
);
}
extern
"C"
UINT
__stdcall
IsOfficeRunning
(
MSIHANDLE
handle
)
{
OSVERSIONINFO
osverinfo
;
...
...
@@ -211,10 +143,10 @@ extern "C" UINT __stdcall IsOfficeRunning( MSIHANDLE handle )
std
::
_tstring
sResourceFile
=
sResourceDir
+
aFindFileData
.
cFileName
;
std
::
_tstring
sIntermediate
=
sResourceFile
+
TEXT
(
".tmp"
);
fRenameSucceeded
=
MoveFileEx
Impl
(
sResourceFile
.
c_str
(),
sIntermediate
.
c_str
(),
MOVEFILE_REPLACE_EXISTING
);
fRenameSucceeded
=
MoveFileEx
A
(
sResourceFile
.
c_str
(),
sIntermediate
.
c_str
(),
MOVEFILE_REPLACE_EXISTING
);
if
(
fRenameSucceeded
)
{
MoveFileEx
Impl
(
sIntermediate
.
c_str
(),
sResourceFile
.
c_str
(),
0
);
MoveFileEx
A
(
sIntermediate
.
c_str
(),
sResourceFile
.
c_str
(),
0
);
fSuccess
=
FindNextFile
(
hFind
,
&
aFindFileData
);
}
}
while
(
fSuccess
&&
fRenameSucceeded
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment