https://bugs.winehq.org/show_bug.cgi?id=47176
Bug ID: 47176 Summary: Star Wars - The Old Republic (SWTOR) client/launcher fails with 'Installation of drivers require administrative permission' (BitRaider)(existing tag for ordering service startup must be preserved by SCM when passed NULL param) Product: Wine Version: 4.8 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: focht@gmx.net Distribution: ---
Hello folks,
continuation of bug 47175
There is a helper (console) app which is used to install and configure BitRaider. At least three log file locations are of interest during boostrapping of the game installer/launcher which includes set up of BitRaider.
--- snip --- .wine/drive_c/ProgramData/BitRaider/common/logs/BR_Debuglog.txt ... .wine/drive_c/Star Wars-The Old Republic/bitraider/logs/swtor_swtor.txt ... .wine/drive_c/Star Wars-The Old Republic/logs/launcher_20190511.log --- snip ---
'swtor_swtor.txt'
--- snip --- ... 2019/05/11 09:56:45.906:[INFO]MachineId: LAV9AVgtU0VCMUctcjMVNSIAbgBuADMA PID: 129 2019/05/11 09:56:45.906:[INFO]Language ID: 1033 Kernel: C:\windows\system32\ntoskrnl.exe 2019/05/11 09:56:45.906:[INFO]Host OS: Windows 7 [6.1.7601.21863] - 64-Bit - Release Client. - Process Elevated - User Fully Elevated 2019/05/11 09:56:45.906:[INFO]Exepath: c:\star wars-the old republic\bitraider\bin\brwc.exe 2019/05/11 09:56:45.906:[INFO]Command Parms: brdestpath="c:\star wars-the old republic" brlocalebank=0 id=swtor_swtor -brnolaunch -brnoui brcallingpid=8 2019/05/11 09:56:45.912:[INFO]Connecting to Service Core, command: 13 2019/05/11 09:56:45.913:[INFO]CBRWCApp: Loaded common path "c:\star wars-the old republic\Bitraider\bin" for ID=swtor_swtor 2019/05/11 09:56:45.961:[INFO]STLEFE: Skipping extract to c:\Star Wars-The Old Republic\bitraider\bin\BRException.exe; identical to reource 2019/05/11 09:56:45.963:[INFO]STLEFE: Skipping extract to C:\ProgramData\BitRaider\common\BRException.exe; identical to reource 2019/05/11 09:56:45.965:[INFO]STLEFE: Skipping extract to c:\Star Wars-The Old Republic\bitraider\bin\BRExtPipe.dll; identical to reource 2019/05/11 09:56:45.966:[INFO]STLEFE: Skipping extract to C:\ProgramData\BitRaider\BRExtPipe.dll; identical to reource 2019/05/11 09:56:45.994:[CRIT](BRDriver64_1_3_3_E02B25FC): reading 'Tag' string under key System\CurrentControlSet\Services\BRDriver64_1_3_3_E02B25FC failed. error code 0 2019/05/11 09:56:45.996:[INFO]CSTL-StartStopSupportServiceStub: CurrentState: 3 2019/05/11 09:56:46.998:[INFO]CSTL-StartStopSupportServiceStub: CurrentState: 1 2019/05/11 09:56:47.003:[INFO]STLEFE: Skipping extract to C:\ProgramData\BitRaider\BRSptStub.exe; identical to reource 2019/05/11 09:56:47.014:[INFO]Attempting to install a new copy of the service helper. 2019/05/11 09:56:47.237:[INFO]Support Service Successfully installed 2019/05/11 09:56:47.237:[CRIT](BRDriver64_1_3_3_E02B25FC): reading 'Tag' st ... --- snip ---
Relevant part of trace log.
App creates the service registry keys prior to SCM (see bug 47175) and then uses SCM API to create the service entry.
--- snip --- $ pwd /home/focht/.wine/drive_c/Star Wars-The Old Republic/bitraider/bin
$ WINEDEBUG=+seh,+relay,+server,+reg,+service wine ./brwc.exe brdestpath="c:\star wars-the old republic" brlocalebank=0 id=swtor_swtor -brnolaunch -brnoui brcallingpid=8 >>log.txt 2>&1 ... 003c:Call advapi32.CreateServiceW(0014f2a0,005f2aa0 L"BRDriver64_1_3_3_E02B25FC",005f2aa0 L"BRDriver64_1_3_3_E02B25FC",000f01ff,00000002,00000003,00000001,005f2bd8 L"C:\ProgramData\BitRaider\support\1.3.3\E02B25FC\BRDriver64.sys",00000000,00000000,00000000,00000000,00000000) ret=0040b048 003c:trace:service:CreateServiceW 0x14f2a0 L"BRDriver64_1_3_3_E02B25FC" L"BRDriver64_1_3_3_E02B25FC" ... --- snip ---
'services.exe' side:
--- snip --- 0014:trace:service:svcctl_CreateServiceWOW64W Call msvcrt._vsnprintf(00bbeff0,00000400,0041b0aa "(%s, %s, 0x%x, %s)\n",00bbf430) ret=00401def 0014:Ret msvcrt._vsnprintf() retval=0000008f ret=00401def (L"BRDriver64_1_3_3_E02B25FC", L"BRDriver64_1_3_3_E02B25FC", 0xf01ff, L"C:\ProgramData\BitRaider\support\1.3.3\E02B25FC\BRDriver64.sys") ... 0014:trace:service:create_serviceW Call msvcrt._vsnprintf(00bbf020,00000400,0041b0aa "(%s, %s, 0x%x, %s)\n",00bbf460) ret=00401def ... 0014:Call advapi32.RegCreateKeyW(00000024,00033d30 L"BRDriver64_1_3_3_E02B25FC",00bbf3c8) ret=004066d8 0014:trace:reg:NtCreateKey (0x24,L"BRDriver64_1_3_3_E02B25FC",(null),0,2000000,0xbbf128) 0014: create_key( access=02000000, options=00000000, objattr={rootdir=0024,attributes=00000000,sd={},name=L"BRDriver64_1_3_3_E02B25FC"}, class=L"" ) 0014: create_key() = 0 { hkey=01a0, created=0 } 0014:trace:reg:NtCreateKey <- 0x1a0 0014:Ret advapi32.RegCreateKeyW() retval=00000000 ret=004066d8 0014:Call advapi32.RegSetValueExW(000001a0,0041c670 L"DisplayName",00000000,00000001,00033e20,00000034) ret=0040655e 0014:trace:reg:NtSetValueKey (0x1a0,L"DisplayName",1,0x33e20,52) 0014: set_key_value( hkey=01a0, type=1, namelen=22, name=L"DisplayName", data={42,00,52,00,44,00,72,00,69,00,76,00,65,00,72,00,36,00,34,00,5f,00,31,00,5f,00,33,00,5f,00,33,00,5f,00,45,00,30,00,32,00,42,00,32,00,35,00,46,00,43,00,00,00} ) 0014: set_key_value() = 0 0014:Ret advapi32.RegSetValueExW() retval=00000000 ret=0040655e 0014:Call advapi32.RegSetValueExW(000001a0,0041c610 L"ImagePath",00000000,00000001,00033d80,00000086) ret=0040655e 0014:trace:reg:NtSetValueKey (0x1a0,L"ImagePath",1,0x33d80,134) 0014: set_key_value( hkey=01a0, type=1, namelen=18, name=L"ImagePath", data={5c,00,3f,00,3f,00,5c,00,43,00,3a,00,5c,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,44,00,61,00,74,00,61,00,5c,00,42,00,69,00,74,00,52,00,61,00,69,00,64,00,65,00,72,00,5c,00,73,00,75,00,70,00,70,00,6f,00,72,00,74,00,5c,00,31,00,2e,00,33,00,2e,00,33,00,5c,00,45,00,30,00,32,00,42,00,32,00,35,00,46,00,43,00,5c,00,42,00,52,00,44,00,72,00,69,00,76,00,65,00,72,00,36,00,34,00,2e,00,73,00,79,00,73,00,00,00} ) 0014: set_key_value() = 0 0014:Ret advapi32.RegSetValueExW() retval=00000000 ret=0040655e 0014:Call advapi32.RegDeleteValueW(000001a0,0041c600 L"Group") ret=00406568 0014:trace:reg:NtDeleteValueKey (0x1a0,L"Group") 0014: delete_key_value( hkey=01a0, name=L"Group" ) 0014: delete_key_value() = 0 0014:Ret advapi32.RegDeleteValueW() retval=00000000 ret=00406568 0014:Call advapi32.RegSetValueExW(000001a0,0041c590 L"ObjectName",00000000,00000001,00034770,00000018) ret=0040655e 0014:trace:reg:NtSetValueKey (0x1a0,L"ObjectName",1,0x34770,24) 0014: set_key_value( hkey=01a0, type=1, namelen=20, name=L"ObjectName", data={4c,00,6f,00,63,00,61,00,6c,00,53,00,79,00,73,00,74,00,65,00,6d,00,00,00} ) 0014: set_key_value() = 0 0014:Ret advapi32.RegSetValueExW() retval=00000000 ret=0040655e 0014:Call advapi32.RegDeleteValueW(000001a0,0041c570 L"Description") ret=00406568 0014:trace:reg:NtDeleteValueKey (0x1a0,L"Description") 0014: delete_key_value( hkey=01a0, name=L"Description" ) 0014: delete_key_value() = OBJECT_NAME_NOT_FOUND 0014:Ret advapi32.RegDeleteValueW() retval=00000002 ret=00406568 0014:Call advapi32.RegDeleteValueW(000001a0,0041c5e0 L"DependOnService") ret=0040622f 0014:trace:reg:NtDeleteValueKey (0x1a0,L"DependOnService") 0014: delete_key_value( hkey=01a0, name=L"DependOnService" ) 0014: delete_key_value() = 0 0014:Ret advapi32.RegDeleteValueW() retval=00000000 ret=0040622f 0014:Call advapi32.RegDeleteValueW(000001a0,0041c5b0 L"DependOnGroup") ret=0040622f 0014:trace:reg:NtDeleteValueKey (0x1a0,L"DependOnGroup") 0014: delete_key_value( hkey=01a0, name=L"DependOnGroup" ) 0014: delete_key_value() = OBJECT_NAME_NOT_FOUND 0014:Ret advapi32.RegDeleteValueW() retval=00000002 ret=0040622f 0014:Call advapi32.RegSetValueExW(000001a0,0041c650 L"Start",00000000,00000004,00033c94,00000004) ret=004067f9 0014:trace:reg:NtSetValueKey (0x1a0,L"Start",4,0x33c94,4) 0014: set_key_value( hkey=01a0, type=4, namelen=10, name=L"Start", data={03,00,00,00} ) 0014: set_key_value() = 0 0014:Ret advapi32.RegSetValueExW() retval=00000000 ret=004067f9 0014:Call advapi32.RegSetValueExW(000001a0,0041c630 L"ErrorControl",00000000,00000004,00033c98,00000004) ret=0040682e 0014:trace:reg:NtSetValueKey (0x1a0,L"ErrorControl",4,0x33c98,4) 0014: set_key_value( hkey=01a0, type=4, namelen=24, name=L"ErrorControl", data={01,00,00,00} ) 0014: set_key_value() = 0 0014:Ret advapi32.RegSetValueExW() retval=00000000 ret=0040682e 0014:Call advapi32.RegSetValueExW(000001a0,0041c660 L"Type",00000000,00000004,00033c90,00000004) ret=00406863 0014:trace:reg:NtSetValueKey (0x1a0,L"Type",4,0x33c90,4) 0014: set_key_value( hkey=01a0, type=4, namelen=8, name=L"Type", data={02,00,00,00} ) 0014: set_key_value() = 0 0014:Ret advapi32.RegSetValueExW() retval=00000000 ret=00406863 0014:Call advapi32.RegSetValueExW(000001a0,0041c540 L"PreshutdownTimeout",00000000,00000004,00033cd0,00000004) ret=0040689b 0014:trace:reg:NtSetValueKey (0x1a0,L"PreshutdownTimeout",4,0x33cd0,4) 0014: set_key_value( hkey=01a0, type=4, namelen=36, name=L"PreshutdownTimeout", data={20,bf,02,00} ) 0014: set_key_value() = 0 0014:Ret advapi32.RegSetValueExW() retval=00000000 ret=0040689b 0014:Call advapi32.RegSetValueExW(000001a0,0041c540 L"PreshutdownTimeout",00000000,00000004,00033cd0,00000004) ret=004068cc 0014:trace:reg:NtSetValueKey (0x1a0,L"PreshutdownTimeout",4,0x33cd0,4) 0014: set_key_value( hkey=01a0, type=4, namelen=36, name=L"PreshutdownTimeout", data={20,bf,02,00} ) 0014: set_key_value() = 0 0014:Ret advapi32.RegSetValueExW() retval=00000000 ret=004068cc 0014:Call advapi32.RegSetValueExW(000001a0,0041c518 L"WOW64",00000000,00000004,00bbf3c4,00000004) ret=0040694c 0014:trace:reg:NtSetValueKey (0x1a0,L"WOW64",4,0xbbf3c4,4) 0014: set_key_value( hkey=01a0, type=4, namelen=10, name=L"WOW64", data={01,00,00,00} ) 0014: set_key_value() = 0 0014:Ret advapi32.RegSetValueExW() retval=00000000 ret=0040694c 0014:Call advapi32.RegDeleteValueW(000001a0,0041c588 L"Tag") ret=00406969 0014:trace:reg:NtDeleteValueKey (0x1a0,L"Tag") 0014: delete_key_value( hkey=01a0, name=L"Tag" ) 0014: delete_key_value() = 0 0014:Ret advapi32.RegDeleteValueW() retval=00000000 ret=00406969 0014:Call advapi32.RegCloseKey(000001a0) ret=004066e8 0014: close_handle( handle=01a0 ) 0014: close_handle() = 0 0014:Ret advapi32.RegCloseKey() retval=00000000 ret=004066e8 --- snip ---
App trace validating the service registry keys after SCM created the service:
--- snip --- ... 0009:Call advapi32.RegOpenKeyExW(80000002,0033d0ec L"System\CurrentControlSet\Services\BRDriver64_1_3_3_E02B25FC",00000000,00020019,0033c890) ret=00483205 0009:trace:reg:open_key (0x28,L"System\CurrentControlSet\Services\BRDriver64_1_3_3_E02B25FC",20019,0x33c890) 0009: open_key( parent=0028, access=00020019, attributes=00000000, name=L"System\CurrentControlSet\Services\BRDriver64_1_3_3_E02B25FC" ) 0009: open_key() = 0 { hkey=01d4 } 0009:trace:reg:open_key <- 0x1d4 0009:Ret advapi32.RegOpenKeyExW() retval=00000000 ret=00483205 0009:Call advapi32.RegQueryValueExW(000001d4,00754df4 L"DisplayName",00000000,0033c88c,0033ceec,0033c894) ret=00483249 0009:trace:reg:RegQueryValueExW (0x1d4,L"DisplayName",(nil),0x33c88c,0x33ceec,0x33c894=512) 0009:trace:reg:NtQueryValueKey (0x1d4,L"DisplayName",2,0x33c6c4,256) 0009: get_key_value( hkey=01d4, name=L"DisplayName" ) 0009: get_key_value() = 0 { type=1, total=52, data={42,00,52,00,44,00,72,00,69,00,76,00,65,00,72,00,36,00,34,00,5f,00,31,00,5f,00,33,00,5f,00,33,00,5f,00,45,00,30,00,32,00,42,00,32,00,35,00,46,00,43,00,00,00} } 0009:Ret advapi32.RegQueryValueExW() retval=00000000 ret=00483249 0009:Call advapi32.RegQueryValueExW(000001d4,00754e0c L"ErrorControl",00000000,0033c88c,0033c888,0033c894) ret=004832b4 0009:trace:reg:RegQueryValueExW (0x1d4,L"ErrorControl",(nil),0x33c88c,0x33c888,0x33c894=4) 0009:trace:reg:NtQueryValueKey (0x1d4,L"ErrorControl",2,0x33c6c4,16) 0009: get_key_value( hkey=01d4, name=L"ErrorControl" ) 0009: get_key_value() = 0 { type=4, total=4, data={01,00,00,00} } 0009:Ret advapi32.RegQueryValueExW() retval=00000000 ret=004832b4 0009:Call advapi32.RegQueryValueExW(000001d4,00754e34 L"ImagePath",00000000,0033c88c,0033ceec,0033c894) ret=00483358 0009:trace:reg:RegQueryValueExW (0x1d4,L"ImagePath",(nil),0x33c88c,0x33ceec,0x33c894=512) 0009:trace:reg:NtQueryValueKey (0x1d4,L"ImagePath",2,0x33c6c4,256) 0009: get_key_value( hkey=01d4, name=L"ImagePath" ) 0009: get_key_value() = 0 { type=1, total=134, data={5c,00,3f,00,3f,00,5c,00,43,00,3a,00,5c,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,44,00,61,00,74,00,61,00,5c,00,42,00,69,00,74,00,52,00,61,00,69,00,64,00,65,00,72,00,5c,00,73,00,75,00,70,00,70,00,6f,00,72,00,74,00,5c,00,31,00,2e,00,33,00,2e,00,33,00,5c,00,45,00,30,00,32,00,42,00,32,00,35,00,46,00,43,00,5c,00,42,00,52,00,44,00,72,00,69,00,76,00,65,00,72,00,36,00,34,00,2e,00,73,00,79,00,73,00,00,00} } 0009:Ret advapi32.RegQueryValueExW() retval=00000000 ret=00483358 0009:Call advapi32.RegQueryValueExW(000001d4,00754e48 L"Start",00000000,0033c88c,0033c888,0033c894) ret=004833c8 0009:trace:reg:RegQueryValueExW (0x1d4,L"Start",(nil),0x33c88c,0x33c888,0x33c894=4) 0009:trace:reg:NtQueryValueKey (0x1d4,L"Start",2,0x33c6c4,16) 0009: get_key_value( hkey=01d4, name=L"Start" ) 0009: get_key_value() = 0 { type=4, total=4, data={03,00,00,00} } 0009:Ret advapi32.RegQueryValueExW() retval=00000000 ret=004833c8 0009:Call advapi32.RegQueryValueExW(000001d4,00754e54 L"Type",00000000,0033c88c,0033c888,0033c894) ret=00483407 0009:trace:reg:RegQueryValueExW (0x1d4,L"Type",(nil),0x33c88c,0x33c888,0x33c894=4) 0009:trace:reg:NtQueryValueKey (0x1d4,L"Type",2,0x33c6c4,16) 0009: get_key_value( hkey=01d4, name=L"Type" ) 0009: get_key_value() = 0 { type=4, total=4, data={02,00,00,00} } 0009:Ret advapi32.RegQueryValueExW() retval=00000000 ret=00483407 0009:Call advapi32.RegQueryValueExW(000001d4,00754e60 L"Tag",00000000,0033c88c,0033c888,0033c894) ret=00483446 0009:trace:reg:RegQueryValueExW (0x1d4,L"Tag",(nil),0x33c88c,0x33c888,0x33c894=4) 0009:trace:reg:NtQueryValueKey (0x1d4,L"Tag",2,0x33c6c4,16) 0009: get_key_value( hkey=01d4, name=L"Tag" ) 0009: get_key_value() = OBJECT_NAME_NOT_FOUND { type=-1, total=0, data={} } 0009:Ret advapi32.RegQueryValueExW() retval=00000002 ret=00483446 0009:Call KERNEL32.GetLastError() ret=00483620 0009:Ret KERNEL32.GetLastError() retval=00000000 ret=00483620 ... 0009:Call user32.MessageBoxW(00000000,00c260c8 L"Installation of the driver and support components require administrative permission acknowledgment.\r\nTry invoking the client again.\r\nInstaller cannot continue. Exiting.",00c28210 L"Fatal error",00000000) ret=0041f794 --- snip ---
This behaviour is actually documented by Microsoft:
https://docs.microsoft.com/en-us/windows/desktop/api/winsvc/nf-winsvc-create...
--- quote --- lpdwTagId
A pointer to a variable that receives a tag value that is unique in the group specified in the lpLoadOrderGroup parameter. Specify NULL if you are not changing the existing tag.
You can use a tag for ordering service startup within a load ordering group by specifying a tag order vector in the following registry value:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GroupOrderList
Tags are only evaluated for driver services that have SERVICE_BOOT_START or SERVICE_SYSTEM_START start types. --- quote ---
Wine SCM deletes the existing tag upon service creation (NULL TagId) which is incorrect.
Wine source:
https://source.winehq.org/git/wine.git/blob/HEAD:/programs/services/services...
--- snip --- 238 DWORD save_service_config(struct service_entry *entry) 239 { 240 DWORD err; 241 HKEY hKey = NULL; 242 243 err = RegCreateKeyW(entry->db->root_key, entry->name, &hKey); 244 if (err != ERROR_SUCCESS) 245 goto cleanup; 246 247 if ((err = reg_set_string_value(hKey, SZ_DISPLAY_NAME, entry->config.lpDisplayName)) != 0) 248 goto cleanup; 249 if ((err = reg_set_string_value(hKey, SZ_IMAGE_PATH, entry->config.lpBinaryPathName)) != 0) 250 goto cleanup; 251 if ((err = reg_set_string_value(hKey, SZ_GROUP, entry->config.lpLoadOrderGroup)) != 0) 252 goto cleanup; 253 if ((err = reg_set_string_value(hKey, SZ_OBJECT_NAME, entry->config.lpServiceStartName)) != 0) 254 goto cleanup; 255 if ((err = reg_set_string_value(hKey, SZ_DESCRIPTION, entry->description)) != 0) 256 goto cleanup; 257 if ((err = reg_set_multisz_value(hKey, SZ_DEPEND_ON_SERVICE, entry->dependOnServices)) != 0) 258 goto cleanup; 259 if ((err = reg_set_multisz_value(hKey, SZ_DEPEND_ON_GROUP, entry->dependOnGroups)) != 0) 260 goto cleanup; 261 if ((err = RegSetValueExW(hKey, SZ_START, 0, REG_DWORD, (LPBYTE)&entry->config.dwStartType, sizeof(DWORD))) != 0) 262 goto cleanup; 263 if ((err = RegSetValueExW(hKey, SZ_ERROR, 0, REG_DWORD, (LPBYTE)&entry->config.dwErrorControl, sizeof(DWORD))) != 0) 264 goto cleanup; 265 if ((err = RegSetValueExW(hKey, SZ_TYPE, 0, REG_DWORD, (LPBYTE)&entry->config.dwServiceType, sizeof(DWORD))) != 0) 266 goto cleanup; 267 if ((err = RegSetValueExW(hKey, SZ_PRESHUTDOWN, 0, REG_DWORD, (LPBYTE)&entry->preshutdown_timeout, sizeof(DWORD))) != 0) 268 goto cleanup; 269 if ((err = RegSetValueExW(hKey, SZ_PRESHUTDOWN, 0, REG_DWORD, (LPBYTE)&entry->preshutdown_timeout, sizeof(DWORD))) != 0) 270 goto cleanup; 271 if (entry->is_wow64) 272 { 273 const DWORD is_wow64 = 1; 274 if ((err = RegSetValueExW(hKey, SZ_WOW64, 0, REG_DWORD, (LPBYTE)&is_wow64, sizeof(DWORD))) != 0) 275 goto cleanup; 276 } 277 278 if (entry->config.dwTagId) 279 err = RegSetValueExW(hKey, SZ_TAG, 0, REG_DWORD, (LPBYTE)&entry->config.dwTagId, sizeof(DWORD)); 280 else 281 err = RegDeleteValueW(hKey, SZ_TAG); 282 283 if (err != 0 && err != ERROR_FILE_NOT_FOUND) 284 goto cleanup; 285 286 err = ERROR_SUCCESS; 287 cleanup: 288 RegCloseKey(hKey); 289 return err; 290 } --- snip ---
$ sha1sum SWTOR_setup.exe c538935eff4ec90ce2e48dc7e515a8dec2f15f58 SWTOR_setup.exe
$ du -sh SWTOR_setup.exe 32M SWTOR_setup.exe
$ wine --version wine-4.8
Regards
https://bugs.winehq.org/show_bug.cgi?id=47176
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Star Wars - The Old |Star Wars - The Old |Republic (SWTOR) |Republic (SWTOR) |client/launcher fails with |client/launcher fails with |'Installation of drivers |'Installation of drivers |require administrative |require admin permission' |permission' |(BitRaider)(existing tag |(BitRaider)(existing tag |for ordering service |for ordering service |startup must be preserved |startup must be preserved |by SCM when passed NULL) |by SCM when passed NULL | |param) | URL| |https://web.archive.org/web | |/20190505203021/http://patc | |hnotes.swtor.com/SWTOR_setu | |p.exe Keywords| |download
https://bugs.winehq.org/show_bug.cgi?id=47176
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Star Wars - The Old |BitRaider Streaming Client |Republic (SWTOR) |1.3.3 fails with |client/launcher fails with |'Installation of drivers |'Installation of drivers |require administrative |require admin permission' |permission' (existing tag |(BitRaider)(existing tag |for ordering service |for ordering service |startup must be preserved |startup must be preserved |by SCM when passed NULL) |by SCM when passed NULL) |
--- Comment #1 from Anastasius Focht focht@gmx.net --- Hello folks,
refining ticket summary to be generic about BitRaider to collect dupes and cover all games using this content distribution technology.
Regards
https://bugs.winehq.org/show_bug.cgi?id=47176
joaopa jeremielapuree@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremielapuree@yahoo.fr
--- Comment #2 from joaopa jeremielapuree@yahoo.fr --- I don't understand this bug. Is it fixed in wine-7.0-rc2?
https://bugs.winehq.org/show_bug.cgi?id=47176
--- Comment #3 from Anastasius Focht focht@gmx.net --- Hello folks,
revisiting, still present.
After downloading the client you need to make sure that BitRaider is selected for patching/download (default is now "SSN").
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files (x86)/Electronic Arts/BioWare/Star Wars - The Old Republic --- snip ---
'launcher.settings':
--- snip --- ... , "PatchingMode": "{ "swtor": "BR" }" , "bitraider_download_complete": { } , "log_levels": "INFO,SSNFO,ERROR" , "bitraider_disable": false ... --- snip ---
'launcher_xxxxxxx.log' should tell:
--- snip --- 2022-01-03 19:54:49 INFO File info: C:\Program Files (x86)\Electronic Arts\BioWare\Star Wars - The Old Republic\launcher.exe size=8042696, created=3/2/2021 12:29:8, accessed=1/3/2022 19:44:45, written=3/2/2021 12:29:8 2022-01-03 19:54:49 INFO Initializing download manager 2022-01-03 19:54:49 INFO Loaded settings from C:\Program Files (x86)\Electronic Arts\BioWare\Star Wars - The Old Republic\launcher-app.settings 2022-01-03 19:54:49 INFO Loaded agreements from C:\Program Files (x86)\Electronic Arts\BioWare\Star Wars - The Old Republic\eula.settings 2022-01-03 19:54:49 INFO Loaded settings from C:\Program Files (x86)\Electronic Arts\BioWare\Star Wars - The Old Republic\launcher.settings 2022-01-03 19:54:49 INFO Sending crash dumps to [https://patcher-crash.swtor.com/crashcatch] 2022-01-03 19:54:49 INFO completeLauncherInit() ... 2022-01-03 19:56:03 INFO User logs in. 2022-01-03 19:56:04 INFO Retrieving patch notes for environment [swtor] 2022-01-03 19:56:04 INFO Using environment.name [swtor], productName [retailclient] 2022-01-03 19:56:04 INFO BitRaider is available for [swtor] 2022-01-03 19:56:04 INFO Previous patching mode for [swtor] is [BR] 2022-01-03 19:56:04 INFO Patch selection action: GoStraightToBR 2022-01-03 19:56:04 INFO Starting game requirements check. Patching requirements using SSN. 2022-01-03 19:56:04 INFO Chosen environment is swtor 2022-01-03 19:56:04 INFO Starting Bitraider Streaming 2022-01-03 19:56:04 INFO BitRaider Transitioning from Asleep to Launch 2022-01-03 19:56:04 INFO isBitraiderRunning: false 2022-01-03 19:56:04 INFO Creating bitraider configuration files 2022-01-03 19:56:04 INFO Using environment.name [swtor], productName [retailclient] 2022-01-03 19:56:04 INFO Formatted [http://manifest.swtor.com/patch/bitraider/%7Benv%7D] to [http://manifest.swtor.com/patch/bitraider/swtor] 2022-01-03 19:56:04 INFO Using environment.name [swtor], productName [retailclient] 2022-01-03 19:56:04 INFO Formatted [http://cdn-patch.swtor.com/bitraider/%7Benv%7D/%7Benv%7D] to [http://cdn-patch.swtor.com/bitraider/swtor/swtor] 2022-01-03 19:56:04 INFO Using environment.name [swtor], productName [retailclient] 2022-01-03 19:56:04 INFO Using environment.name [swtor], productName [retailclient] 2022-01-03 19:56:04 INFO Formatted [http://cdn-patch.swtor.com/bitraider/support] to [http://cdn-patch.swtor.com/bitraider/support] 2022-01-03 19:56:04 INFO BitRaider required version is [1.3.3.4098]. 2022-01-03 19:56:04 INFO Using environment.name [swtor], productName [retailclient] 2022-01-03 19:56:04 INFO Using environment.name [swtor], productName [retailclient] 2022-01-03 19:56:04 INFO Formatted [brdestpath="{cwd}" brlocalebank={langid} id={packageid} -brnolaunch] to [brdestpath="C:\Program Files (x86)\Electronic Arts\BioWare\Star Wars - The Old Republic" brlocalebank=0 id=swtor_swtor -brnolaunch] 2022-01-03 19:56:04 INFO Launching Bitraider with command line: brwc_swtor.exe brdestpath="C:\Program Files (x86)\Electronic Arts\BioWare\Star Wars - The Old Republic" brlocalebank=0 id=swtor_swtor -brnolaunch -brnoui 2022-01-03 19:56:04 INFO BitRaider launched 2022-01-03 19:56:05 INFO BitRaider running 2022-01-03 19:56:05 INFO BitRaider Transitioning from Launch to Connect 2022-01-03 19:56:05 INFO BitRaider required version is [1.3.3.4098]. 2022-01-03 19:56:06 INFO Initialized pipe connection to BitRaider version [1.3.3.4098] 2022-01-03 19:56:06 ERROR Failed to initialize BitRaider query mapping. 2022-01-03 19:56:06 INFO Bitraider version [1.3.3.4098] meets requirement [1.3.3.4098] ... --- snip ---
$ wine --version wine-7.0-rc4
Regards