I found a solution to OneDrive problem



  • Re: PowerArchiver 2019 Cloud is one-stop application for multiple clouds

    The problem with OneDrive, which I reported about, seems to be specific only to Windows XP. I found a solution to this problem by installing one VBS script. After running this script and rebooting the system, the PowerArchiver Cloud successfully logs in to OneDrive if it is running as an Admin.

    AES256_for_WindowsXP.vbs

    langFixUrl = "http://www.skaip.su/aes-256-dlya-windows-xp"
    langGetHelp = "Хотите посетить блог автора и обратиться за помощью?"
    langStartApp = "Вы уверены, что хотите заменить системные библиотеки?"
    langNoDownload = "Не удалось скачать библиотеку {name}.dll в папку %windir%\system32"
    langWrongVersion = "Библиотека {name}.dll не может быть заменена, поскольку не совпадают указанные версии."
    langRestartPc = "Скрипт закончил свою работу, но изменения вступят в силу только после перезагрузки системы. Перезагрузить компьютер сейчас?"
    
    Set App = CreateObject("Shell.Application")
    Set Shell = CreateObject("WScript.Shell")
    Set Fso = CreateObject("Scripting.FileSystemObject")
    Set TypeLib = CreateObject("Scriptlet.TypeLib")
    
    Function RunAsAdministrator()
    	If WScript.Arguments.Length = 0 Then
    		Set Systems = WmiQuery("Select Caption From Win32_OperatingSystem")
    		For Each System In Systems
    			If InStr(System.Caption, "Windows XP") Then
    				Exit Function
    			End If
    		Next 
    
    		App.ShellExecute "wscript.exe", """" & WScript.ScriptFullName & """ RunAsAdministrator", , "runas", 1
    		WScript.Quit
    	End if
    End Function
    
    Function WmiQuery(query)
    	Set Wmi = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
    	Set WmiQuery = Wmi.ExecQuery(query)
    End Function
    
    Function DownloadFile(url, file)
    	Set Http = CreateObject("Microsoft.XMLHTTP")
    	Http.Open "GET", url, False
    	Http.Send
    
    	Set Stream = CreateObject("Adodb.Stream")
    	Stream.type = 1
    	Stream.open
    	Stream.write Http.responseBody
    	Stream.saveToFile file, 2
    End Function
    
    Function RenameDll(sourcePath, dir, name)
    	dirPath = Shell.ExpandEnvironmentStrings("%windir%\" & dir)
    	If Fso.FolderExists(dirPath) Then
    		targetPath = dirPath & "\" & name & ".dll"
    		backupPath = targetPath & "." & UNIXTIME
    
    		If Fso.FileExists(targetPath) Then
    			Fso.MoveFile targetPath, backupPath
    		End if
    
    		Fso.CopyFile sourcePath, targetPath
    	End if
    End Function
    
    Function ReplaceDll(name, version, url)
    	tmpPath = Shell.ExpandEnvironmentStrings("%windir%\system32\" & name & ".dll.tmp." & UNIXTIME)
    	DownloadFile url, tmpPath
    
    	If Not Fso.FileExists(tmpPath) Then
    		ShowError Replace(langNoDownload, "{name}", name)
    		WScript.Quit
    	End if
    
    	If Fso.GetFileVersion(tmpPath) <> version Then
    		ShowError Replace(langWrongVersion, "{name}", name)
    		Fso.DeleteFile(tmpPath)
    		WScript.Quit
    	End if
     
    	RenameDll tmpPath, "system32", name
    	RenameDll tmpPath, "system32\dllcache", name
    	RenameDll tmpPath, "ServicePackFiles\i386", name
    	Fso.DeleteFile(tmpPath)
    End Function
    
    Function ShowError(msg)
    	btn = MsgBox(msg + vbNewLine + langGetHelp, 20, "ERROR!")
    	If btn = 6 Then
    		Shell.Run langFixUrl
    	End If
    End Function
    
    Function AppStart()
    	RunAsAdministrator()
    	ReplaceDll "dssenh", "5.1.2600.6924", "http://download.skaip.org/iexpress/AES256_for_WindowsXP/files/dssenh.dll"
    	ReplaceDll "rsaenh", "5.1.2600.6924", "http://download.skaip.org/iexpress/AES256_for_WindowsXP/files/rsaenh.dll"
    	ReplaceDll "schannel", "5.1.2600.6926", "http://download.skaip.org/iexpress/AES256_for_WindowsXP/files/schannel.dll"
    
    	btn = MsgBox(langRestartPc, 36)
    	If btn = 6 Then
    		Shell.Run "shutdown.exe -r -t 0"
    	End If
    End Function
    
    If MsgBox(langStartApp, 36) = 6 Then
    	UNIXTIME = DateDiff("s", "01/01/1970 00:00:00", Now())
    	AppStart()
    End If
    
    


  • @Michael72 said in I found a solution to OneDrive problem:

    The problem with OneDrive, which I reported about, seems to be specific only to Windows XP. I found a solution to this problem by installing one VBS script. After running this script and rebooting the system, the PowerArchiver Cloud successfully logs in to OneDrive if it is running as an Admin.

    However, now I have another problem.

    My OS: Windows XP Home Edition, SP3
    The version number and date of the program: PowerArchiver 2019 Standard 19.00.47 (05/2019)

    How to reproduce the problem

    Since it is recommended that we hold back from using the accounts with the type of administration for everyday work on the computer, I always have two accounts, an Admin account and a normal account from which I normally work.

    So, I have two accounts on my computer. One Michael, and the other Admin.
    I logged in as Michael (normal account with limited rightes).
    I run the PowerArchiver as an Admin by using Windows “Run As…” option.
    When the dialog window of account control popped up I chose another account with administration rights.

    2019-03-03_19-08-24.png

    The program has started successfully.

    2019-03-03_19-55-45.png

    I сlick on Clouds button to open the Cloud Browser.
    Now when I click on the OneDrive profile I get a successful connection to the cloud.
    I close the PowerArchiver 2019 Cloud and also close the PowerArchiver 2019.
    Now I am running the PowerArchiver 2019 as a Michael.
    I сlick on Clouds button to open the Cloud Browser.
    Now when I click on the OneDrive profile an empty Authorize dialog box opens and does not connect to the cloud.

    2019-05-12_10-21-38.png

    … Michael


  • conexware

    Thanks @Michael72
    gonna test this out to confirm as well and log it in.
    We’ll reply with further questions if needed.
    thanks again!


Log in to reply
 

  • 4
  • 10
  • 3
  • 1
  • 3
  • 1
  • 2
  • 14