Oooops. Just noticed an error in the code I posted. The case statement should have read
On May 29, 2019, at 7:12 PM, JOHN BAUGHMAN <john...@hawaii.rr.com> wrote: Case of : (32bit PowerShell). //pseudo code. $FilePath:="C:\\Windows\\sysWoW64\\WindowsPowerShell\\v1.0\\powershell.exe -file \""+$ScriptPath+"\”" : (64bit PowerShell) //pseudo code $FilePath:="C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe -file \""+$ScriptPath+"\"" End Case > On May 29, 2019, at 7:12 PM, JOHN BAUGHMAN <john...@hawaii.rr.com> wrote: > > Anyone using PowerShell on Windows 10 out there? Maybe you can help me figure > this out. > > I am upgrading an old v13 database to v17. My ultimate goal is to have > everything run-in 64bit. > > The database talks to QuickBooks on a Windows 10 machine using an XML stream > in a Powershell script file executed with PowerShell by LEP. > > I have successfully upgraded all of 4D to run successfully 64 bit, but have > am unable to get v17R3 or R4 64bit client to work successfully with 64bit > PowerShell… > > > 4D Server Client PowerShell > Result > v17R3 64 32 32 > OK > v17R3. 64 32 64 > OK > > V17R3 64 64 32 > OK > V17R3 64 64 64 > X > > I am pretty sure that the PowerShell script is not being executed because > QuickBooks is not receiving a call. What changes with 64Bit 4d client that > could possibly be preventing the PowerShell Script from executing? > > I have posted the applicable code and ps script below. > > Thanks, > > John > > ---------------- > Here is what the LEP call looks like… > > ScriptPath:=$1 > $4D_Folder:=Get 4D folder(Active 4D Folder) > $FileID:=String(Milliseconds)+"-"+String(Random) > > Case of > : (32bit). //pseudo code > > $FilePath:="C:\\Windows\\sysWoW64\\WindowsPowerShell\\v1.0\\powershell.exe > -file \""+$ScriptPath+"\”" > > : (32bit) > > $FilePath:="C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe > -file \""+$ScriptPath+"\"" > > End Case > > $OutputStream:=$3 > $ErrorStream:=$4 > $XMLOutBlobPtr:=$5 > //set the environmentals and launch the external process > SET ENVIRONMENT VARIABLE("_4D_OPTION_HIDE_CONSOLE";"true") > SET ENVIRONMENT VARIABLE("_4D_OPTION_BLOCKING_EXTERNAL_PROCESS";"false") > SET ENVIRONMENT VARIABLE("_4D_OPTION_CURRENT_DIRECTORY";$4D_Folder) > //SET ENVIRONMENT VARIABLE("_4D_OPTION_INPUT_STREAM";"I"+$FileID) > SET ENVIRONMENT VARIABLE("_4D_OPTION_OUTPUT_STREAM";"O"+$FileID) > SET ENVIRONMENT VARIABLE("_4D_OPTION_ERROR_STREAM";"E"+$FileID) > SET ENVIRONMENT VARIABLE("_4D_OPTION_STOP_TOKEN";$FileID) > LAUNCH EXTERNAL PROCESS($FilePath) > ————————— > > ——————— > The PowerSrcipt script looks like this… > > [String]$requestXML = '<?xml version="1.0" ?> > <?qbxml version="2.0"?><QBXML> > <QBXMLMsgsRq onError="stopOnError"> > <CompanyQueryRq requestID="1"> > </CompanyQueryRq> > </QBXMLMsgsRq> > </QBXML>' > $myQBXMLRP = New-Object -com QBXMLRP2.RequestProcessor > $myQBXMLRP.OpenConnection2("qb4D","CCFolioPro",1) > $ticket = $myQBXMLRP.BeginSession("C:\Company Files\Cadinha & Co., > LLC.QBW",$myQBXMLRP.qbFileOpenDoNotCare) > $myQBXMLRP.ProcessRequest($ticket, $requestXML) > > $env:_4D_OPTION_OUTPUT_STREAM > $myQBXMLRP.EndSession($ticket) > $myQBXMLRP.CloseConnection() > "Stop" > $env:_4D_OPTION_STOP_TOKEN > > ------------------- > > > John Baughman > Kailua, Hawaii > (808) 262-0328 > john...@hawaii.rr.com > ********************************************************************** 4D Internet Users Group (4D iNUG) Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **********************************************************************