wineprefixcreate: msiexec.exe -- "Failed to open the service control manager"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



When ~/.wine does not exist, or more specifically the system.reg does not yet exist, wineprefixcreate delivers the message "Failed to open the service control manager." I have tracked this down to the fact that HKLM\CurrentControlSet\Services does not yet exist when the msiexec.exe is registered and hence OpenSCManager fails.

What is the proper way to register this key. In DoRegServer I have prepended the following code

VVVVVVVV
    WCHAR const key[35] = {
        'S', 'y', 's', 't', 'e', 'm',
'\\', 'C', 'u', 'r', 'r', 'e', 'n', 't', 'C', 'o', 'n', 't', 'r', 'o', '
l', 'S', 'e', 't',
        '\\', 'S', 'e', 'r', 'v', 'i', 'c', 'e', 's', '\\', 0
    };
    HKEY hkey;

    status = RegCreateKeyExW(HKEY_LOCAL_MACHINE, key,
                             0, NULL, 0, KEY_READ | KEY_WRITE,
                             NULL, &hkey, NULL);
    if (status == ERROR_SUCCESS) {
        RegCloseKey(hkey);
    }
^^^^^^^^

However, this seems kludgey and intuitively does not seem the proper way to do things. Putting it in the wine.inf won't work, because installing services (SPINST_REGSVR) comes before installing registry keys (SPINST_REGISTRY).

I have also commented out the msiexec.exe from the RegisterDllsSection, and added wine msiexec.exe /RegServer after the setupapi.dll,InstallHinfSection, and this works, but this also seems like a kludge.

What is the proper way to guarantee the key exists before encountering the msiexec.exe installation?

I'm using wine-0.9.31, non-packaged, on slackware 11.0.

Regards,
Jeremy
_______________________________________________
wine-users mailing list
wine-users@xxxxxxxxxx
http://www.winehq.org/mailman/listinfo/wine-users

[Index of Archives]     [Gimp for Windows]     [Red Hat]     [Samba]     [Yosemite Camping]     [Graphics Cards]     [Wine Home]

  Powered by Linux