Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
wine
Manage
Activity
Members
Labels
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Package registry
Container Registry
Model registry
Operate
Terraform modules
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Alexey Alyaev
wine
Commits
60de11c0
Commit
60de11c0
authored
19 years ago
by
James Hawkins
Committed by
Alexandre Julliard
19 years ago
Browse files
Options
Downloads
Patches
Plain Diff
advpack: Branch off the advpack install functions into install.c.
parent
b88b4808
No related branches found
No related tags found
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
dlls/advpack/Makefile.in
+1
-0
1 addition, 0 deletions
dlls/advpack/Makefile.in
dlls/advpack/advpack.c
+0
-163
0 additions, 163 deletions
dlls/advpack/advpack.c
dlls/advpack/install.c
+196
-0
196 additions, 0 deletions
dlls/advpack/install.c
with
197 additions
and
163 deletions
dlls/advpack/Makefile.in
+
1
−
0
View file @
60de11c0
...
...
@@ -10,6 +10,7 @@ EXTRALIBS = $(LIBUNICODE)
C_SRCS
=
\
advpack.c
\
files.c
\
install.c
\
reg.c
SUBDIRS
=
tests
...
...
This diff is collapsed.
Click to expand it.
dlls/advpack/advpack.c
+
0
−
163
View file @
60de11c0
...
...
@@ -140,146 +140,6 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
return
TRUE
;
}
/***********************************************************************
* RunSetupCommand (ADVPACK.@)
*
* Executes an install section in an INF file or a program.
*
* PARAMS
* hWnd [I] Handle to parent window, NULL for quiet mode
* szCmdName [I] Inf or EXE filename to execute
* szInfSection [I] Inf section to install, NULL for DefaultInstall
* szDir [I] Path to extracted files
* szTitle [I] Title of all dialogs
* phEXE [O] Handle of EXE to wait for
* dwFlags [I] Flags; see include/advpub.h
* pvReserved [I] Reserved
*
* RETURNS
* S_OK Everything OK
* S_ASYNCHRONOUS OK, required to wait on phEXE
* ERROR_SUCCESS_REBOOT_REQUIRED Reboot required
* E_INVALIDARG Invalid argument given
* HRESULT_FROM_WIN32(ERROR_OLD_WIN_VERSION)
* Not supported on this Windows version
* E_UNEXPECTED Unexpected error
* HRESULT_FROM_WIN32(GetLastError()) Some other error
*
* BUGS
* Unimplemented
*/
HRESULT
WINAPI
RunSetupCommand
(
HWND
hWnd
,
LPCSTR
szCmdName
,
LPCSTR
szInfSection
,
LPCSTR
szDir
,
LPCSTR
lpszTitle
,
HANDLE
*
phEXE
,
DWORD
dwFlags
,
LPVOID
pvReserved
)
{
FIXME
(
"(%p, %s, %s, %s, %s, %p, 0x%08lx, %p): stub
\n
"
,
hWnd
,
debugstr_a
(
szCmdName
),
debugstr_a
(
szInfSection
),
debugstr_a
(
szDir
),
debugstr_a
(
lpszTitle
),
phEXE
,
dwFlags
,
pvReserved
);
return
E_UNEXPECTED
;
}
/***********************************************************************
* LaunchINFSection (ADVPACK.@)
*
* Installs an INF section without BACKUP/ROLLBACK capabilities.
*
* PARAMS
* hWnd [I] Handle to parent window, NULL for desktop.
* hInst [I] Instance of the process.
* cmdline [I] Contains parameters in the order INF,section,flags.
* show [I] Reboot behaviour:
* 'A' reboot always
* 'I' default, reboot if needed
* 'N' no reboot
*
* RETURNS
* Success: S_OK.
* Failure: S_FALSE
*
* BUGS
* Unimplemented.
*/
INT
WINAPI
LaunchINFSection
(
HWND
hWnd
,
HINSTANCE
hInst
,
LPSTR
cmdline
,
INT
show
)
{
FIXME
(
"(%p %p %s %d): stub
\n
"
,
hWnd
,
hInst
,
debugstr_a
(
cmdline
),
show
);
return
0
;
}
/***********************************************************************
* LaunchINFSectionEx (ADVPACK.@)
*
* Installs an INF section with BACKUP/ROLLBACK capabilities.
*
* PARAMS
* hWnd [I] Handle to parent window, NULL for desktop.
* hInst [I] Instance of the process.
* cmdline [I] Contains parameters in the order INF,section,CAB,flags.
* show [I] Reboot behaviour:
* 'A' reboot always
* 'I' default, reboot if needed
* 'N' no reboot
*
* RETURNS
* Success: S_OK.
* Failure: E_FAIL.
*
* BUGS
* Unimplemented.
*/
HRESULT
WINAPI
LaunchINFSectionEx
(
HWND
hWnd
,
HINSTANCE
hInst
,
LPSTR
cmdline
,
INT
show
)
{
FIXME
(
"(%p %p %s %d): stub
\n
"
,
hWnd
,
hInst
,
debugstr_a
(
cmdline
),
show
);
return
E_FAIL
;
}
/* this structure very closely resembles parameters of RunSetupCommand() */
typedef
struct
{
HWND
hwnd
;
LPCSTR
title
;
LPCSTR
inf_name
;
LPCSTR
dir
;
LPCSTR
section_name
;
}
SETUPCOMMAND_PARAMS
;
/***********************************************************************
* DoInfInstall (ADVPACK.@)
*
* Install an INF section.
*
* PARAMS
* setup [I] Structure containing install information.
*
* RETURNS
* S_OK Everything OK
* HRESULT_FROM_WIN32(GetLastError()) Some other error
*/
HRESULT
WINAPI
DoInfInstall
(
const
SETUPCOMMAND_PARAMS
*
setup
)
{
BOOL
ret
;
HINF
hinf
;
void
*
callback_context
;
TRACE
(
"%p %s %s %s %s
\n
"
,
setup
->
hwnd
,
debugstr_a
(
setup
->
title
),
debugstr_a
(
setup
->
inf_name
),
debugstr_a
(
setup
->
dir
),
debugstr_a
(
setup
->
section_name
));
hinf
=
SetupOpenInfFileA
(
setup
->
inf_name
,
NULL
,
INF_STYLE_WIN4
,
NULL
);
if
(
hinf
==
INVALID_HANDLE_VALUE
)
return
HRESULT_FROM_WIN32
(
GetLastError
());
callback_context
=
SetupInitDefaultQueueCallback
(
setup
->
hwnd
);
ret
=
SetupInstallFromInfSectionA
(
NULL
,
hinf
,
setup
->
section_name
,
SPINST_ALL
,
NULL
,
NULL
,
0
,
SetupDefaultQueueCallbackA
,
callback_context
,
NULL
,
NULL
);
SetupTermDefaultQueueCallback
(
callback_context
);
SetupCloseInfFile
(
hinf
);
return
ret
?
S_OK
:
HRESULT_FROM_WIN32
(
GetLastError
());
}
/***********************************************************************
* IsNTAdmin (ADVPACK.@)
*
...
...
@@ -497,29 +357,6 @@ void WINAPI RegisterOCX( HWND hWnd, HINSTANCE hInst, LPCSTR cmdline, INT show )
FreeLibrary
(
hm
);
}
/***********************************************************************
* ExecuteCab (ADVPACK.@)
*
* Installs the INF file extracted from a specified cabinet file.
*
* PARAMS
* hwnd [I] Handle to the window used for the display.
* pCab [I] Information about the cabinet file.
* pReserved [I] Reserved. Must be NULL.
*
* RETURNS
* Success: S_OK.
* Failure: E_FAIL.
*
* BUGS
* Unimplemented
*/
HRESULT
WINAPI
ExecuteCab
(
HWND
hwnd
,
PCABINFO
pCab
,
LPVOID
pReserved
)
{
FIXME
(
"(%p %p %p): stub
\n
"
,
hwnd
,
pCab
,
pReserved
);
return
E_FAIL
;
}
/***********************************************************************
* SetPerUserSecValues (ADVPACK.@)
*
...
...
This diff is collapsed.
Click to expand it.
dlls/advpack/install.c
0 → 100644
+
196
−
0
View file @
60de11c0
/*
* Advpack install functions
*
* Copyright 2006 James Hawkins
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include
<stdarg.h>
#include
<stdlib.h>
#include
"windef.h"
#include
"winbase.h"
#include
"winuser.h"
#include
"winreg.h"
#include
"winver.h"
#include
"setupapi.h"
#include
"advpub.h"
#include
"wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL
(
advpack
);
/* this structure very closely resembles parameters of RunSetupCommand() */
typedef
struct
{
HWND
hwnd
;
LPCSTR
title
;
LPCSTR
inf_name
;
LPCSTR
dir
;
LPCSTR
section_name
;
}
SETUPCOMMAND_PARAMS
;
/***********************************************************************
* DoInfInstall (ADVPACK.@)
*
* Install an INF section.
*
* PARAMS
* setup [I] Structure containing install information.
*
* RETURNS
* S_OK Everything OK
* HRESULT_FROM_WIN32(GetLastError()) Some other error
*/
HRESULT
WINAPI
DoInfInstall
(
const
SETUPCOMMAND_PARAMS
*
setup
)
{
BOOL
ret
;
HINF
hinf
;
void
*
callback_context
;
TRACE
(
"%p %s %s %s %s
\n
"
,
setup
->
hwnd
,
debugstr_a
(
setup
->
title
),
debugstr_a
(
setup
->
inf_name
),
debugstr_a
(
setup
->
dir
),
debugstr_a
(
setup
->
section_name
));
hinf
=
SetupOpenInfFileA
(
setup
->
inf_name
,
NULL
,
INF_STYLE_WIN4
,
NULL
);
if
(
hinf
==
INVALID_HANDLE_VALUE
)
return
HRESULT_FROM_WIN32
(
GetLastError
());
callback_context
=
SetupInitDefaultQueueCallback
(
setup
->
hwnd
);
ret
=
SetupInstallFromInfSectionA
(
NULL
,
hinf
,
setup
->
section_name
,
SPINST_ALL
,
NULL
,
NULL
,
0
,
SetupDefaultQueueCallbackA
,
callback_context
,
NULL
,
NULL
);
SetupTermDefaultQueueCallback
(
callback_context
);
SetupCloseInfFile
(
hinf
);
return
ret
?
S_OK
:
HRESULT_FROM_WIN32
(
GetLastError
());
}
/***********************************************************************
* ExecuteCab (ADVPACK.@)
*
* Installs the INF file extracted from a specified cabinet file.
*
* PARAMS
* hwnd [I] Handle to the window used for the display.
* pCab [I] Information about the cabinet file.
* pReserved [I] Reserved. Must be NULL.
*
* RETURNS
* Success: S_OK.
* Failure: E_FAIL.
*
* BUGS
* Unimplemented
*/
HRESULT
WINAPI
ExecuteCab
(
HWND
hwnd
,
PCABINFO
pCab
,
LPVOID
pReserved
)
{
FIXME
(
"(%p %p %p): stub
\n
"
,
hwnd
,
pCab
,
pReserved
);
return
E_FAIL
;
}
/***********************************************************************
* LaunchINFSection (ADVPACK.@)
*
* Installs an INF section without BACKUP/ROLLBACK capabilities.
*
* PARAMS
* hWnd [I] Handle to parent window, NULL for desktop.
* hInst [I] Instance of the process.
* cmdline [I] Contains parameters in the order INF,section,flags.
* show [I] Reboot behaviour:
* 'A' reboot always
* 'I' default, reboot if needed
* 'N' no reboot
*
* RETURNS
* Success: S_OK.
* Failure: S_FALSE
*
* BUGS
* Unimplemented.
*/
INT
WINAPI
LaunchINFSection
(
HWND
hWnd
,
HINSTANCE
hInst
,
LPSTR
cmdline
,
INT
show
)
{
FIXME
(
"(%p %p %s %d): stub
\n
"
,
hWnd
,
hInst
,
debugstr_a
(
cmdline
),
show
);
return
0
;
}
/***********************************************************************
* LaunchINFSectionEx (ADVPACK.@)
*
* Installs an INF section with BACKUP/ROLLBACK capabilities.
*
* PARAMS
* hWnd [I] Handle to parent window, NULL for desktop.
* hInst [I] Instance of the process.
* cmdline [I] Contains parameters in the order INF,section,CAB,flags.
* show [I] Reboot behaviour:
* 'A' reboot always
* 'I' default, reboot if needed
* 'N' no reboot
*
* RETURNS
* Success: S_OK.
* Failure: E_FAIL.
*
* BUGS
* Unimplemented.
*/
HRESULT
WINAPI
LaunchINFSectionEx
(
HWND
hWnd
,
HINSTANCE
hInst
,
LPSTR
cmdline
,
INT
show
)
{
FIXME
(
"(%p %p %s %d): stub
\n
"
,
hWnd
,
hInst
,
debugstr_a
(
cmdline
),
show
);
return
E_FAIL
;
}
/***********************************************************************
* RunSetupCommand (ADVPACK.@)
*
* Executes an install section in an INF file or a program.
*
* PARAMS
* hWnd [I] Handle to parent window, NULL for quiet mode
* szCmdName [I] Inf or EXE filename to execute
* szInfSection [I] Inf section to install, NULL for DefaultInstall
* szDir [I] Path to extracted files
* szTitle [I] Title of all dialogs
* phEXE [O] Handle of EXE to wait for
* dwFlags [I] Flags; see include/advpub.h
* pvReserved [I] Reserved
*
* RETURNS
* S_OK Everything OK
* S_ASYNCHRONOUS OK, required to wait on phEXE
* ERROR_SUCCESS_REBOOT_REQUIRED Reboot required
* E_INVALIDARG Invalid argument given
* HRESULT_FROM_WIN32(ERROR_OLD_WIN_VERSION)
* Not supported on this Windows version
* E_UNEXPECTED Unexpected error
* HRESULT_FROM_WIN32(GetLastError()) Some other error
*
* BUGS
* Unimplemented
*/
HRESULT
WINAPI
RunSetupCommand
(
HWND
hWnd
,
LPCSTR
szCmdName
,
LPCSTR
szInfSection
,
LPCSTR
szDir
,
LPCSTR
lpszTitle
,
HANDLE
*
phEXE
,
DWORD
dwFlags
,
LPVOID
pvReserved
)
{
FIXME
(
"(%p, %s, %s, %s, %s, %p, 0x%08lx, %p): stub
\n
"
,
hWnd
,
debugstr_a
(
szCmdName
),
debugstr_a
(
szInfSection
),
debugstr_a
(
szDir
),
debugstr_a
(
lpszTitle
),
phEXE
,
dwFlags
,
pvReserved
);
return
E_UNEXPECTED
;
}
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment