189 lines
3.4 KiB
C
189 lines
3.4 KiB
C
/*++
|
|
|
|
Copyright (c) 1998 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
winfax.c
|
|
|
|
Abstract:
|
|
|
|
This source file implements the operations needed to properly migrate
|
|
Symantec WinFax Starter Edition (shipped as a value-add component to
|
|
Outlook 2000). In particular, this migration dll is designed to get rid of the
|
|
incompatiblity message reported by the printer migration dll and clean up
|
|
some registry settings.
|
|
|
|
Author:
|
|
|
|
Marc R. Whitten (marcw) 14-Jul-1999
|
|
|
|
Revision History:
|
|
|
|
|
|
--*/
|
|
|
|
|
|
#include "pch.h"
|
|
|
|
|
|
#define S_WINFAX_STARTER_REGKEYA "HKLM\\System\\CurrentControlSet\\Control\\Print\\Printers\\Symantec WinFax Starter Edition"
|
|
|
|
|
|
PSTR g_HandleArray[] = {
|
|
|
|
"HKLM\\Software\\Microsoft\\Office\\8.0\\Outlook\\OLFax",
|
|
"HKLM\\Software\\Microsoft\\Office\\9.0\\Outlook\\OLFax",
|
|
"HKLM\\Software\\Microsoft\\Active Setup\\Outlook Uninstall\\OMF95",
|
|
"HKR\\Software\\Microsoft\\Office\\8.0\\Outlook\\OLFax",
|
|
"HKR\\Software\\Microsoft\\Office\\9.0\\Outlook\\OLFax",
|
|
"HKR\\Software\\Microsoft\\Office\\9.0\\Outlook\\Setup\\WinFax",
|
|
"HKR\\Software\\Microsoft\\Office\\8.0\\Outlook\\Setup\\WinFax",
|
|
"HKR\\Software\\Microsoft\\Office\\9.0\\Outlook\\Setup\\WinFax",
|
|
"HKR\\Software\\Microsoft\\Office\\8.0\\Outlook\\Setup\\WinFax",
|
|
"HKR\\Software\\Microsoft\\Office\\9.0\\Outlook\\Setup\\[WinFaxWizard]",
|
|
"HKR\\Software\\Microsoft\\Office\\8.0\\Outlook\\Setup\\[WinFaxWizard]",
|
|
""
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
BOOL
|
|
SymantecWinFax_Attach (
|
|
IN HINSTANCE DllInstance
|
|
)
|
|
{
|
|
return TRUE;
|
|
}
|
|
|
|
BOOL
|
|
SymantecWinFax_Detach (
|
|
IN HINSTANCE DllInstance
|
|
)
|
|
{
|
|
return TRUE;
|
|
}
|
|
|
|
LONG
|
|
SymantecWinFax_QueryVersion (
|
|
IN PCSTR *ExeNamesBuf
|
|
)
|
|
{
|
|
HKEY h;
|
|
|
|
h = OpenRegKeyStrA ("HKLM\\Software\\Microsoft\\Active Setup\\Outlook Uninstall\\OMF95");
|
|
|
|
if (!h) {
|
|
return ERROR_NOT_INSTALLED;
|
|
}
|
|
|
|
CloseRegKey (h);
|
|
|
|
|
|
|
|
|
|
|
|
return ERROR_SUCCESS;
|
|
}
|
|
|
|
|
|
LONG
|
|
SymantecWinFax_Initialize9x (
|
|
IN PCSTR WorkingDirectory,
|
|
IN PCSTR SourceDirectories
|
|
)
|
|
{
|
|
return ERROR_SUCCESS;
|
|
}
|
|
|
|
|
|
LONG
|
|
SymantecWinFax_MigrateUser9x (
|
|
IN HWND ParentWnd,
|
|
IN PCSTR UnattendFile,
|
|
IN HKEY UserRegKey,
|
|
IN PCSTR UserName
|
|
)
|
|
{
|
|
return ERROR_SUCCESS;
|
|
}
|
|
|
|
|
|
LONG
|
|
SymantecWinFax_MigrateSystem9x (
|
|
IN HWND ParentWnd,
|
|
IN PCSTR UnattendFile
|
|
)
|
|
{
|
|
|
|
HKEY h;
|
|
PSTR *p;
|
|
|
|
|
|
//
|
|
// Handle the registry key so that the printer migration dll doesn't report it as incompatible.
|
|
//
|
|
WritePrivateProfileStringA (
|
|
S_HANDLED,
|
|
S_WINFAX_STARTER_REGKEYA,
|
|
"Registry",
|
|
g_MigrateInfPath
|
|
);
|
|
|
|
//
|
|
// Handle other registry keys so that the reinstall will actually work.
|
|
//
|
|
|
|
for (p = g_HandleArray; **p; p++) {
|
|
|
|
h = OpenRegKeyStrA (*p);
|
|
if (h) {
|
|
|
|
WritePrivateProfileStringA (
|
|
S_HANDLED,
|
|
*p,
|
|
"Registry",
|
|
g_MigrateInfPath
|
|
);
|
|
|
|
CloseRegKey (h);
|
|
}
|
|
}
|
|
|
|
|
|
return ERROR_SUCCESS;
|
|
}
|
|
|
|
|
|
//
|
|
// Nothing to do during GUI mode.
|
|
//
|
|
LONG
|
|
SymantecWinFax_InitializeNT (
|
|
IN PCWSTR WorkingDirectory,
|
|
IN PCWSTR SourceDirectories
|
|
)
|
|
{
|
|
return ERROR_SUCCESS;
|
|
}
|
|
|
|
LONG
|
|
SymantecWinFax_MigrateUserNT (
|
|
IN HINF UnattendFile,
|
|
IN HKEY UserRegKey,
|
|
IN PCWSTR UserName
|
|
)
|
|
{
|
|
return ERROR_SUCCESS;
|
|
}
|
|
|
|
LONG
|
|
SymantecWinFax_MigrateSystemNT (
|
|
IN HINF UnattendFile
|
|
)
|
|
{
|
|
return ERROR_SUCCESS;
|
|
}
|