Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
ded22a58
Commit
ded22a58
authored
Oct 22, 2010
by
Hans Leidekker
Committed by
Alexandre Julliard
Oct 22, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msi: Don't inline msi_feature_set_state and msi_component_set_state.
parent
e01455d4
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
94 additions
and
96 deletions
+94
-96
action.c
dlls/msi/action.c
+92
-0
msipriv.h
dlls/msi/msipriv.h
+2
-96
No files found.
dlls/msi/action.c
View file @
ded22a58
...
...
@@ -169,6 +169,98 @@ static const WCHAR szWriteEnvironmentStrings[] =
* helper functions
********************************************************/
void
msi_feature_set_state
(
MSIPACKAGE
*
package
,
MSIFEATURE
*
feature
,
INSTALLSTATE
state
)
{
if
(
!
package
->
ProductCode
)
{
feature
->
ActionRequest
=
state
;
feature
->
Action
=
state
;
}
else
if
(
state
==
INSTALLSTATE_ABSENT
)
{
switch
(
feature
->
Installed
)
{
case
INSTALLSTATE_ABSENT
:
feature
->
ActionRequest
=
INSTALLSTATE_UNKNOWN
;
feature
->
Action
=
INSTALLSTATE_UNKNOWN
;
break
;
default:
feature
->
ActionRequest
=
state
;
feature
->
Action
=
state
;
}
}
else
if
(
state
==
INSTALLSTATE_SOURCE
)
{
switch
(
feature
->
Installed
)
{
case
INSTALLSTATE_ABSENT
:
case
INSTALLSTATE_SOURCE
:
feature
->
ActionRequest
=
state
;
feature
->
Action
=
state
;
break
;
case
INSTALLSTATE_LOCAL
:
feature
->
ActionRequest
=
INSTALLSTATE_LOCAL
;
feature
->
Action
=
INSTALLSTATE_LOCAL
;
break
;
default:
feature
->
ActionRequest
=
INSTALLSTATE_UNKNOWN
;
feature
->
Action
=
INSTALLSTATE_UNKNOWN
;
}
}
else
{
feature
->
ActionRequest
=
state
;
feature
->
Action
=
state
;
}
if
(
feature
->
Attributes
&
msidbFeatureAttributesUIDisallowAbsent
)
{
feature
->
Action
=
INSTALLSTATE_UNKNOWN
;
}
}
void
msi_component_set_state
(
MSIPACKAGE
*
package
,
MSICOMPONENT
*
comp
,
INSTALLSTATE
state
)
{
if
(
!
package
->
ProductCode
)
{
comp
->
ActionRequest
=
state
;
comp
->
Action
=
state
;
}
else
if
(
state
==
INSTALLSTATE_ABSENT
)
{
switch
(
comp
->
Installed
)
{
case
INSTALLSTATE_LOCAL
:
case
INSTALLSTATE_SOURCE
:
case
INSTALLSTATE_DEFAULT
:
comp
->
ActionRequest
=
state
;
comp
->
Action
=
state
;
break
;
default:
comp
->
ActionRequest
=
INSTALLSTATE_UNKNOWN
;
comp
->
Action
=
INSTALLSTATE_UNKNOWN
;
}
}
else
if
(
state
==
INSTALLSTATE_SOURCE
)
{
if
(
comp
->
Installed
==
INSTALLSTATE_ABSENT
||
(
comp
->
Installed
==
INSTALLSTATE_SOURCE
&&
comp
->
hasLocalFeature
))
{
comp
->
ActionRequest
=
state
;
comp
->
Action
=
state
;
}
else
{
comp
->
ActionRequest
=
INSTALLSTATE_UNKNOWN
;
comp
->
Action
=
INSTALLSTATE_UNKNOWN
;
}
}
else
{
comp
->
ActionRequest
=
state
;
comp
->
Action
=
state
;
}
}
static
void
ui_actionstart
(
MSIPACKAGE
*
package
,
LPCWSTR
action
)
{
static
const
WCHAR
Query_t
[]
=
...
...
dlls/msi/msipriv.h
View file @
ded22a58
...
...
@@ -888,102 +888,6 @@ extern UINT ACTION_PerformUIAction(MSIPACKAGE *package, const WCHAR *action, UIN
extern
void
ACTION_FinishCustomActions
(
const
MSIPACKAGE
*
package
);
extern
UINT
ACTION_CustomAction
(
MSIPACKAGE
*
package
,
const
WCHAR
*
action
,
UINT
script
,
BOOL
execute
);
static
inline
void
msi_feature_set_state
(
MSIPACKAGE
*
package
,
MSIFEATURE
*
feature
,
INSTALLSTATE
state
)
{
if
(
!
package
->
ProductCode
)
{
feature
->
ActionRequest
=
state
;
feature
->
Action
=
state
;
}
else
if
(
state
==
INSTALLSTATE_ABSENT
)
{
switch
(
feature
->
Installed
)
{
case
INSTALLSTATE_ABSENT
:
feature
->
ActionRequest
=
INSTALLSTATE_UNKNOWN
;
feature
->
Action
=
INSTALLSTATE_UNKNOWN
;
break
;
default:
feature
->
ActionRequest
=
state
;
feature
->
Action
=
state
;
}
}
else
if
(
state
==
INSTALLSTATE_SOURCE
)
{
switch
(
feature
->
Installed
)
{
case
INSTALLSTATE_ABSENT
:
case
INSTALLSTATE_SOURCE
:
feature
->
ActionRequest
=
state
;
feature
->
Action
=
state
;
break
;
case
INSTALLSTATE_LOCAL
:
feature
->
ActionRequest
=
INSTALLSTATE_LOCAL
;
feature
->
Action
=
INSTALLSTATE_LOCAL
;
break
;
default:
feature
->
ActionRequest
=
INSTALLSTATE_UNKNOWN
;
feature
->
Action
=
INSTALLSTATE_UNKNOWN
;
}
}
else
{
feature
->
ActionRequest
=
state
;
feature
->
Action
=
state
;
}
if
(
feature
->
Attributes
&
msidbFeatureAttributesUIDisallowAbsent
)
{
feature
->
Action
=
INSTALLSTATE_UNKNOWN
;
}
}
static
inline
void
msi_component_set_state
(
MSIPACKAGE
*
package
,
MSICOMPONENT
*
comp
,
INSTALLSTATE
state
)
{
if
(
!
package
->
ProductCode
)
{
comp
->
ActionRequest
=
state
;
comp
->
Action
=
state
;
}
else
if
(
state
==
INSTALLSTATE_ABSENT
)
{
switch
(
comp
->
Installed
)
{
case
INSTALLSTATE_LOCAL
:
case
INSTALLSTATE_SOURCE
:
case
INSTALLSTATE_DEFAULT
:
comp
->
ActionRequest
=
state
;
comp
->
Action
=
state
;
break
;
default:
comp
->
ActionRequest
=
INSTALLSTATE_UNKNOWN
;
comp
->
Action
=
INSTALLSTATE_UNKNOWN
;
}
}
else
if
(
state
==
INSTALLSTATE_SOURCE
)
{
if
(
comp
->
Installed
==
INSTALLSTATE_ABSENT
||
(
comp
->
Installed
==
INSTALLSTATE_SOURCE
&&
comp
->
hasLocalFeature
))
{
comp
->
ActionRequest
=
state
;
comp
->
Action
=
state
;
}
else
{
comp
->
ActionRequest
=
INSTALLSTATE_UNKNOWN
;
comp
->
Action
=
INSTALLSTATE_UNKNOWN
;
}
}
else
{
comp
->
ActionRequest
=
state
;
comp
->
Action
=
state
;
}
}
/* actions in other modules */
extern
UINT
ACTION_AppSearch
(
MSIPACKAGE
*
package
);
extern
UINT
ACTION_CCPSearch
(
MSIPACKAGE
*
package
);
...
...
@@ -1035,6 +939,8 @@ extern UINT msi_set_last_used_source(LPCWSTR product, LPCWSTR usersid,
MSIINSTALLCONTEXT
context
,
DWORD
options
,
LPCWSTR
value
);
extern
UINT
msi_get_local_package_name
(
LPWSTR
path
,
LPCWSTR
suffix
);
extern
UINT
msi_set_sourcedir_props
(
MSIPACKAGE
*
package
,
BOOL
replace
);
extern
void
msi_component_set_state
(
MSIPACKAGE
*
,
MSICOMPONENT
*
,
INSTALLSTATE
);
extern
void
msi_feature_set_state
(
MSIPACKAGE
*
,
MSIFEATURE
*
,
INSTALLSTATE
);
/* media */
...
...
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