Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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-cw
Commits
ac994860
Commit
ac994860
authored
Jun 23, 2011
by
Hans Leidekker
Committed by
Alexandre Julliard
Jun 23, 2011
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msi: Make sure reported progress adds up to projected progress.
parent
ebf323cf
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
10 additions
and
34 deletions
+10
-34
action.c
dlls/msi/action.c
+6
-20
files.c
dlls/msi/files.c
+4
-14
No files found.
dlls/msi/action.c
View file @
ac994860
...
...
@@ -2565,7 +2565,7 @@ static UINT ITERATE_WriteRegistryValues(MSIRECORD *row, LPVOID param)
BOOL
check_first
=
FALSE
;
UINT
rc
;
msi_ui_progress
(
package
,
2
,
0
,
0
,
0
);
msi_ui_progress
(
package
,
2
,
REG_PROGRESS_VALUE
,
0
,
0
);
component
=
MSI_RecordGetString
(
row
,
6
);
comp
=
msi_get_loaded_component
(
package
,
component
);
...
...
@@ -2679,9 +2679,6 @@ static UINT ACTION_WriteRegistryValues(MSIPACKAGE *package)
if
(
rc
!=
ERROR_SUCCESS
)
return
ERROR_SUCCESS
;
/* increment progress bar each time action data is sent */
msi_ui_progress
(
package
,
1
,
REG_PROGRESS_VALUE
,
1
,
0
);
rc
=
MSI_IterateRecords
(
view
,
NULL
,
ITERATE_WriteRegistryValues
,
package
);
msiobj_release
(
&
view
->
hdr
);
return
rc
;
...
...
@@ -2734,7 +2731,7 @@ static UINT ITERATE_RemoveRegistryValuesOnUninstall( MSIRECORD *row, LPVOID para
UINT
size
;
INT
root
;
msi_ui_progress
(
package
,
2
,
0
,
0
,
0
);
msi_ui_progress
(
package
,
2
,
REG_PROGRESS_VALUE
,
0
,
0
);
component
=
MSI_RecordGetString
(
row
,
6
);
comp
=
msi_get_loaded_component
(
package
,
component
);
...
...
@@ -2783,7 +2780,6 @@ static UINT ITERATE_RemoveRegistryValuesOnUninstall( MSIRECORD *row, LPVOID para
uirow
=
MSI_CreateRecord
(
2
);
MSI_RecordSetStringW
(
uirow
,
1
,
ui_key_str
);
MSI_RecordSetStringW
(
uirow
,
2
,
deformated_name
);
msi_ui_actiondata
(
package
,
szRemoveRegistryValues
,
uirow
);
msiobj_release
(
&
uirow
->
hdr
);
...
...
@@ -2804,8 +2800,6 @@ static UINT ITERATE_RemoveRegistryValuesOnInstall( MSIRECORD *row, LPVOID param
UINT
size
;
INT
root
;
msi_ui_progress
(
package
,
2
,
0
,
0
,
0
);
component
=
MSI_RecordGetString
(
row
,
5
);
comp
=
msi_get_loaded_component
(
package
,
component
);
if
(
!
comp
)
...
...
@@ -2850,7 +2844,6 @@ static UINT ITERATE_RemoveRegistryValuesOnInstall( MSIRECORD *row, LPVOID param
uirow
=
MSI_CreateRecord
(
2
);
MSI_RecordSetStringW
(
uirow
,
1
,
ui_key_str
);
MSI_RecordSetStringW
(
uirow
,
2
,
deformated_name
);
msi_ui_actiondata
(
package
,
szRemoveRegistryValues
,
uirow
);
msiobj_release
(
&
uirow
->
hdr
);
...
...
@@ -2870,9 +2863,6 @@ static UINT ACTION_RemoveRegistryValues( MSIPACKAGE *package )
{
'S'
,
'E'
,
'L'
,
'E'
,
'C'
,
'T'
,
' '
,
'*'
,
' '
,
'F'
,
'R'
,
'O'
,
'M'
,
' '
,
'`'
,
'R'
,
'e'
,
'm'
,
'o'
,
'v'
,
'e'
,
'R'
,
'e'
,
'g'
,
'i'
,
's'
,
't'
,
'r'
,
'y'
,
'`'
,
0
};
/* increment progress bar each time action data is sent */
msi_ui_progress
(
package
,
1
,
REG_PROGRESS_VALUE
,
1
,
0
);
rc
=
MSI_DatabaseOpenViewW
(
package
->
db
,
registry_query
,
&
view
);
if
(
rc
==
ERROR_SUCCESS
)
{
...
...
@@ -2905,8 +2895,7 @@ static UINT ACTION_InstallInitialize(MSIPACKAGE *package)
static
UINT
ACTION_InstallValidate
(
MSIPACKAGE
*
package
)
{
MSICOMPONENT
*
comp
;
DWORD
progress
=
0
;
DWORD
total
=
0
;
DWORD
total
=
0
,
count
=
0
;
static
const
WCHAR
q1
[]
=
{
'S'
,
'E'
,
'L'
,
'E'
,
'C'
,
'T'
,
' '
,
'*'
,
' '
,
'F'
,
'R'
,
'O'
,
'M'
,
' '
,
'`'
,
'R'
,
'e'
,
'g'
,
'i'
,
's'
,
't'
,
'r'
,
'y'
,
'`'
,
0
};
...
...
@@ -2920,11 +2909,10 @@ static UINT ACTION_InstallValidate(MSIPACKAGE *package)
rc
=
MSI_DatabaseOpenViewW
(
package
->
db
,
q1
,
&
view
);
if
(
rc
==
ERROR_SUCCESS
)
{
MSI_IterateRecords
(
view
,
&
progress
,
NULL
,
package
);
MSI_IterateRecords
(
view
,
&
count
,
NULL
,
package
);
msiobj_release
(
&
view
->
hdr
);
total
+=
progress
*
REG_PROGRESS_VALUE
;
total
+=
count
*
REG_PROGRESS_VALUE
;
}
LIST_FOR_EACH_ENTRY
(
comp
,
&
package
->
components
,
MSICOMPONENT
,
entry
)
total
+=
COMPONENT_PROGRESS_VALUE
;
...
...
@@ -3200,8 +3188,6 @@ static UINT ACTION_ProcessComponents(MSIPACKAGE *package)
TRACE
(
"
\n
"
);
squash_guid
(
package
->
ProductCode
,
squished_pc
);
msi_ui_progress
(
package
,
1
,
COMPONENT_PROGRESS_VALUE
,
1
,
0
);
msi_set_sourcedir_props
(
package
,
FALSE
);
LIST_FOR_EACH_ENTRY
(
comp
,
&
package
->
components
,
MSICOMPONENT
,
entry
)
...
...
@@ -3209,7 +3195,7 @@ static UINT ACTION_ProcessComponents(MSIPACKAGE *package)
MSIRECORD
*
uirow
;
INSTALLSTATE
action
;
msi_ui_progress
(
package
,
2
,
0
,
0
,
0
);
msi_ui_progress
(
package
,
2
,
COMPONENT_PROGRESS_VALUE
,
0
,
0
);
if
(
!
comp
->
ComponentId
)
continue
;
...
...
dlls/msi/files.c
View file @
ac994860
...
...
@@ -261,11 +261,9 @@ static BOOL installfiles_cb(MSIPACKAGE *package, LPCWSTR file, DWORD action,
TRACE
(
"unknown file in cabinet (%s)
\n
"
,
debugstr_w
(
file
));
return
FALSE
;
}
if
(
f
->
disk_id
!=
disk_id
||
(
f
->
state
!=
msifs_missing
&&
f
->
state
!=
msifs_overwrite
))
return
FALSE
;
msi_file_update_ui
(
package
,
f
,
szInstallFiles
);
if
(
!
f
->
Component
->
assembly
||
f
->
Component
->
assembly
->
application
)
{
msi_create_directory
(
package
,
f
->
Component
->
Directory
);
...
...
@@ -317,14 +315,13 @@ UINT ACTION_InstallFiles(MSIPACKAGE *package)
UINT
rc
=
ERROR_SUCCESS
;
MSIFILE
*
file
;
/* increment progress bar each time action data is sent */
msi_ui_progress
(
package
,
1
,
1
,
0
,
0
);
schedule_install_files
(
package
);
mi
=
msi_alloc_zero
(
sizeof
(
MSIMEDIAINFO
)
);
LIST_FOR_EACH_ENTRY
(
file
,
&
package
->
files
,
MSIFILE
,
entry
)
{
msi_file_update_ui
(
package
,
file
,
szInstallFiles
);
rc
=
msi_load_media_info
(
package
,
file
->
Sequence
,
mi
);
if
(
rc
!=
ERROR_SUCCESS
)
{
...
...
@@ -368,7 +365,6 @@ UINT ACTION_InstallFiles(MSIPACKAGE *package)
TRACE
(
"copying %s to %s
\n
"
,
debugstr_w
(
source
),
debugstr_w
(
file
->
TargetPath
));
msi_file_update_ui
(
package
,
file
,
szInstallFiles
);
if
(
!
file
->
Component
->
assembly
||
file
->
Component
->
assembly
->
application
)
{
msi_create_directory
(
package
,
file
->
Component
->
Directory
);
...
...
@@ -455,9 +451,6 @@ static BOOL patchfiles_cb(MSIPACKAGE *package, LPCWSTR file, DWORD action,
TRACE
(
"unknown file in cabinet (%s)
\n
"
,
debugstr_w
(
file
));
return
FALSE
;
}
msi_file_update_ui
(
package
,
p
->
File
,
szPatchFiles
);
GetTempFileNameW
(
temp_folder
,
NULL
,
0
,
patch_path
);
*
path
=
strdupW
(
patch_path
);
...
...
@@ -499,9 +492,6 @@ UINT ACTION_PatchFiles( MSIPACKAGE *package )
TRACE
(
"%p
\n
"
,
package
);
/* increment progress bar each time action data is sent */
msi_ui_progress
(
package
,
1
,
1
,
0
,
0
);
mi
=
msi_alloc_zero
(
sizeof
(
MSIMEDIAINFO
)
);
LIST_FOR_EACH_ENTRY
(
patch
,
&
package
->
filepatches
,
MSIFILEPATCH
,
entry
)
...
...
@@ -1273,6 +1263,8 @@ UINT ACTION_RemoveFiles( MSIPACKAGE *package )
VS_FIXEDFILEINFO
*
ver
;
MSICOMPONENT
*
comp
=
file
->
Component
;
msi_file_update_ui
(
package
,
file
,
szRemoveFiles
);
comp
->
Action
=
msi_get_component_action
(
package
,
comp
);
if
(
comp
->
Action
!=
INSTALLSTATE_ABSENT
||
comp
->
Installed
==
INSTALLSTATE_SOURCE
)
continue
;
...
...
@@ -1324,8 +1316,6 @@ UINT ACTION_RemoveFiles( MSIPACKAGE *package )
MSI_RecordSetStringW
(
uirow
,
9
,
comp
->
Directory
);
msi_ui_actiondata
(
package
,
szRemoveFiles
,
uirow
);
msiobj_release
(
&
uirow
->
hdr
);
/* FIXME: call msi_ui_progress here? */
}
return
ERROR_SUCCESS
;
}
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