[Bug 39377] Add support for 'msidbControlAttributesFormatSize' in static text controls to format and label properties such as ' PrimaryVolumeSpaceRequired' (SkySaga installer)

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Mar 18 09:31:48 CDT 2019


https://bugs.winehq.org/show_bug.cgi?id=39377

--- Comment #1 from Anastasius Focht <focht at gmx.net> ---
Hello folks,

revisiting, still present.

Unfortunately the original website seems to be on lock down for whatever
reason.

http://www.skysaga.com/
https://www.reddit.com/r/skysaga/

I wasn't able to retrieve the installer by other means (no Internet archive
snapshot exists).

Anyway, inspection of source code is enough ;-)

https://source.winehq.org/git/wine.git/blob/HEAD:/dlls/msi/action.c#l2418

--- snip ---
2418 static UINT ACTION_CostFinalize(MSIPACKAGE *package)
2419 {
...
2479     TRACE("Calculating file cost\n");
2480     calculate_file_cost( package );
2481 
2482     msi_set_property( package->db, szCostingComplete, szOne, -1 );
2483     /* set default run level if not set */
2484     level = msi_dup_property( package->db, szInstallLevel );
2485     if (!level) msi_set_property( package->db, szInstallLevel, szOne, -1
);
2486     msi_free(level);
2487 
2488     if ((rc = MSI_SetFeatureStates( package ))) return rc;
2489 
2490     if ((primary_key = msi_dup_property( package->db, szPrimaryFolder )))
2491     {
2492         if ((primary_folder = msi_dup_property( package->db, primary_key
)))
2493         {
2494             if (((primary_folder[0] >= 'A' && primary_folder[0] <= 'Z') ||
2495                  (primary_folder[0] >= 'a' && primary_folder[0] <= 'z'))
&& primary_folder[1] == ':')
2496             {
2497                 static const WCHAR fmtW[] = {'%','l','u',0};
2498                 ULARGE_INTEGER free;
2499                 ULONGLONG required;
2500                 WCHAR buf[21];
2501 
2502                 primary_folder[2] = 0;
2503                 if (GetDiskFreeSpaceExW( primary_folder, &free, NULL, NULL
))
2504                 {
2505                     sprintfW( buf, fmtW, free.QuadPart / 512 );
2506                     msi_set_property( package->db,
szPrimaryVolumeSpaceAvailable, buf, -1 );
2507                 }
2508                 required = get_volume_space_required( package );
2509                 sprintfW( buf, fmtW, required / 512 );
2510                 msi_set_property( package->db,
szPrimaryVolumeSpaceRequired, buf, -1 );
2511 
2512                 sprintfW( buf, fmtW, (free.QuadPart - required) / 512 );
2513                 msi_set_property( package->db,
szPrimaryVolumeSpaceRemaining, buf, -1 );
2514                 msi_set_property( package->db, szPrimaryVolumePath,
primary_folder, 2 );
2515             }
2516             msi_free( primary_folder );
2517         }
2518         msi_free( primary_key );
2519     }
...
--- snip ---

$ wine --version
wine-4.4

Regards

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.


More information about the wine-bugs mailing list