New SDK Installer Instructions

Post general discussions on using our drivers to write your own software here
AndrewA
PICO STAFF
PICO STAFF
Posts: 394
Joined: Tue Oct 21, 2014 3:07 pm

New SDK Installer Instructions

Post by AndrewA »

We have packaged our Software Development Kit (SDK) into two Microsoft Windows installers - a 32-bit version and a 64-bit version.

Drivers are included for all PicoScope oscilloscopes, with the exception of the PicoScope 9000 Series, and for all PicoLog data loggers. You can chose to install support for all products or select the specific devices you use.

The following is undertaken as part of the installation process:

- Kernel driver installation.
- Adding the location of the dynamic link library (.dll) and library (.lib) files to the Windows PATH environment variable, so these do not need to be added to your projects.
- Installation of the Microsoft Visual C++ 2015 Redistributable (32-bit or 64-bit) as required.

The SDK is installed to the following location:

• 32-bit or 64-bit operating systems: C:\Program Files\Pico Technology\SDK\
• 32-bit on 64-bit operating systems: C:\Program Files (x86)\Pico Technology\SDK\

The folder contents are as follows:

• doc\ - Changelog files
• inc\ - Header files
• lib\ - Driver and library files
• sys\ - Kernel drivers

You can install both 32-bit and 64-bit versions on a 64-bit operating system.

Software examples are now available from our GitHub repositories.

Programmer's Guides can be obtained from our Documentation page.

Screenshots of step by step installation of the SDK

Start the installer:
Start the installer
Start the installer
License agreement:
License agreement
License agreement
Drivers can be selected/deselected:
Drivers can be selected/deselected
Drivers can be selected/deselected
Installation in progress:
Installation in progress
Installation in progress
Installation complete:
Installation complete
Installation complete
Note: For Users developing on Windows XP and Vista operating systems, the last supported PicoSDK version is 10.6.10.22. The original examples are still included but it is recommended to use the examples from our GitHub repositories.

All the C and C# solutions in PicoSDK version 10.6.10.22 are compatible with Visual Studio 2010 or later (including Express editions). If you are using Visual C++ 2010 Express, you will need to have the Microsoft Windows SDK 7.1 installed if you wish to compile applications for 64-bit platforms.
Last edited by Anonymous on Fri Aug 11, 2017 2:40 pm, edited 3 times in total.
Reason: Updated screenshots following release of PicoSDK 10.6.12.41
Regards Andrew
Technical Specialist

hexamer
Advanced User
Advanced User
Posts: 5
Joined: Tue Aug 12, 2014 10:09 pm

Re: New SDK Installer Instructions

Post by hexamer »

Andrew,

Thanks for providing an explanation on the new approach. It makes sense to decouple the SDK from the PicoScope software. But I have some questions.

1) I noticed that the SDK dll directory is placed ahead of the PicoScope app directory in the PATH variable. Is it expected that we can rely on that as a means to ensure that the preferred dll location (for our apps) is that of the new SDK? Or should we be using things like SetDllDirectory to ensure it.
2) Will the PicoScope application still ship with SDK dlls? If so, would you publish which SDK version ships with the PicoScope app?

In general, I want to avoid loading incorrect versions (realizing this risk is somewhat inherent to dynamic libs). And I'd like to know how to communicate to users of my app what the dependencies are.

Thanks,

Aaron.

AndrewA
PICO STAFF
PICO STAFF
Posts: 394
Joined: Tue Oct 21, 2014 3:07 pm

Re: New SDK Installer Instructions

Post by AndrewA »

Hi Aaron,

The Picoscope application ('picoscope.exe') looks in its folder for the dll's, to use.
(ie "C:\Program Files (x86)\Pico Technology\PicoScope6\")
The SDK installers will always add it's location to the start of the windows PATH environment variable.
If you were deploying your own application, yes I would use something to independently set the location of the dll's you are using. And not rely on the SDK or picoscope 6 being installed.

As for the released versions of dlls;
The SDK dll's are different to the picoscope applications versions. As the SDK is released at different time to picoscope 6 releases and are built with the current stable version of dll's at the time.

So there quite a number of dll packages released at any one time. The most tested dll's would be the ones tested and released with the picoscope 6 stable versions.
This does not guarantee there could still be bugs in these dll's or they may show up a bug in your application which uses a dll in different way or different function calls.
So it still pays to test all the dll's with your application, if possible.

PS- Please note we also have beta SDK versions, please read the post above.
Regards Andrew
Technical Specialist

Pradeep
Newbie
Posts: 1
Joined: Mon Apr 04, 2016 10:21 am

Re: New SDK Installer Instructions

Post by Pradeep »

Hi,
We have downloaded the Pico SDK installer “PicoSDK 10.6.10 (64-bit)” and tried installing. But the installer is throwing error and not getting installed. For more information on error kindly refer the log file content below and screenshots attached. Please guide us on getting the SDK installed. Thanks.

Log file Content:

Code: Select all

[2DBC:2998][2016-04-05T10:56:00]i001: Burn v3.9.1208.0, Windows v6.1 (Build 7601: Service Pack 1), path: C:\Users\pdv8cob\Downloads\Picoscope\SDK\PicoSDK_64_10.6.10.22.exe, cmdline: '-burn.unelevated BurnPipe.{E387AE3F-5C21-4B75-B2B8-EE9082F47324} {C40502BA-CA7C-491B-9764-2226D34A034D} 8460 '
[2DBC:2998][2016-04-05T10:56:00]i000: Setting string variable 'WixBundleLog' to value 'C:\Users\pdv8cob\AppData\Local\Temp\Pico_Technology_SDK_64-bit_20160405105600.log'
[2DBC:2998][2016-04-05T10:56:00]i000: Setting string variable 'WixBundleOriginalSource' to value 'C:\Users\pdv8cob\Downloads\Picoscope\SDK\PicoSDK_64_10.6.10.22.exe'
[2DBC:2998][2016-04-05T10:56:00]i000: Setting string variable 'WixBundleOriginalSourceFolder' to value 'C:\Users\pdv8cob\Downloads\Picoscope\SDK\'
[2DBC:2998][2016-04-05T10:56:00]i000: Setting string variable 'WixBundleName' to value 'Pico Technology SDK 64-bit'
[2DBC:246C][2016-04-05T10:56:00]i000: Setting version variable 'WixBundleFileVersion' to value '10.6.10.22'
[2DBC:2998][2016-04-05T10:56:00]i100: Detect begin, 1 packages
[2DBC:2998][2016-04-05T10:56:00]i101: Detected package: PicoSDK_64, state: Absent, cached: None
[2DBC:2998][2016-04-05T10:56:00]i104: Detected package: PicoSDK_64, feature: Examples, state: Absent
[2DBC:2998][2016-04-05T10:56:00]i104: Detected package: PicoSDK_64, feature: Drivers, state: Absent
[2DBC:2998][2016-04-05T10:56:00]i104: Detected package: PicoSDK_64, feature: PicoScope, state: Absent
[2DBC:2998][2016-04-05T10:56:00]i104: Detected package: PicoSDK_64, feature: PS2000Set, state: Absent
[2DBC:2998][2016-04-05T10:56:00]i104: Detected package: PicoSDK_64, feature: PS2000ASet, state: Absent
[2DBC:2998][2016-04-05T10:56:00]i104: Detected package: PicoSDK_64, feature: PS3000Set, state: Absent
[2DBC:2998][2016-04-05T10:56:00]i104: Detected package: PicoSDK_64, feature: PS3000ASet, state: Absent
[2DBC:2998][2016-04-05T10:56:00]i104: Detected package: PicoSDK_64, feature: PS4000Set, state: Absent
[2DBC:2998][2016-04-05T10:56:00]i104: Detected package: PicoSDK_64, feature: PS4000ASet, state: Absent
[2DBC:2998][2016-04-05T10:56:00]i104: Detected package: PicoSDK_64, feature: PS5000Set, state: Absent
[2DBC:2998][2016-04-05T10:56:00]i104: Detected package: PicoSDK_64, feature: PS5000ASet, state: Absent
[2DBC:2998][2016-04-05T10:56:00]i104: Detected package: PicoSDK_64, feature: PS6000Set, state: Absent
[2DBC:2998][2016-04-05T10:56:00]i104: Detected package: PicoSDK_64, feature: PicoLog, state: Absent
[2DBC:2998][2016-04-05T10:56:00]i104: Detected package: PicoSDK_64, feature: PL1000Set, state: Absent
[2DBC:2998][2016-04-05T10:56:00]i104: Detected package: PicoSDK_64, feature: PLCM3Set, state: Absent
[2DBC:2998][2016-04-05T10:56:00]i104: Detected package: PicoSDK_64, feature: HPROBESet, state: Absent
[2DBC:2998][2016-04-05T10:56:00]i104: Detected package: PicoSDK_64, feature: HRDLSet, state: Absent
[2DBC:2998][2016-04-05T10:56:00]i104: Detected package: PicoSDK_64, feature: USBPT104Set, state: Absent
[2DBC:2998][2016-04-05T10:56:00]i104: Detected package: PicoSDK_64, feature: USBTC08Set, state: Absent
[2DBC:2998][2016-04-05T10:56:00]i104: Detected package: PicoSDK_64, feature: USBDRDAQSet, state: Absent
[2DBC:2998][2016-04-05T10:56:00]i104: Detected package: PicoSDK_64, feature: KernelDrivers, state: Absent
[2DBC:2998][2016-04-05T10:56:00]i199: Detect complete, result: 0x0
[2DBC:246C][2016-04-05T10:56:01]i000: Setting numeric variable 'EulaAcceptCheckbox' to value 0
[2DBC:2998][2016-04-05T10:56:01]i200: Plan begin, 1 packages, action: Install
[2DBC:2998][2016-04-05T10:56:01]i204: Plan 21 msi features for package: PicoSDK_64
[2DBC:2998][2016-04-05T10:56:01]i203: Planned feature: Examples, state: Absent, default requested: Unknown, ba requested: Unknown, execute action: None, rollback action: None
[2DBC:2998][2016-04-05T10:56:01]i203: Planned feature: Drivers, state: Absent, default requested: Unknown, ba requested: Unknown, execute action: None, rollback action: None
[2DBC:2998][2016-04-05T10:56:01]i203: Planned feature: PicoScope, state: Absent, default requested: Unknown, ba requested: Unknown, execute action: None, rollback action: None
[2DBC:2998][2016-04-05T10:56:01]i203: Planned feature: PS2000Set, state: Absent, default requested: Unknown, ba requested: Unknown, execute action: None, rollback action: None
[2DBC:2998][2016-04-05T10:56:01]i203: Planned feature: PS2000ASet, state: Absent, default requested: Unknown, ba requested: Unknown, execute action: None, rollback action: None
[2DBC:2998][2016-04-05T10:56:01]i203: Planned feature: PS3000Set, state: Absent, default requested: Unknown, ba requested: Unknown, execute action: None, rollback action: None
[2DBC:2998][2016-04-05T10:56:01]i203: Planned feature: PS3000ASet, state: Absent, default requested: Unknown, ba requested: Unknown, execute action: None, rollback action: None
[2DBC:2998][2016-04-05T10:56:01]i203: Planned feature: PS4000Set, state: Absent, default requested: Unknown, ba requested: Unknown, execute action: None, rollback action: None
[2DBC:2998][2016-04-05T10:56:01]i203: Planned feature: PS4000ASet, state: Absent, default requested: Unknown, ba requested: Unknown, execute action: None, rollback action: None
[2DBC:2998][2016-04-05T10:56:01]i203: Planned feature: PS5000Set, state: Absent, default requested: Unknown, ba requested: Unknown, execute action: None, rollback action: None
[2DBC:2998][2016-04-05T10:56:01]i203: Planned feature: PS5000ASet, state: Absent, default requested: Unknown, ba requested: Unknown, execute action: None, rollback action: None
[2DBC:2998][2016-04-05T10:56:01]i203: Planned feature: PS6000Set, state: Absent, default requested: Unknown, ba requested: Unknown, execute action: None, rollback action: None
[2DBC:2998][2016-04-05T10:56:01]i203: Planned feature: PicoLog, state: Absent, default requested: Unknown, ba requested: Unknown, execute action: None, rollback action: None
[2DBC:2998][2016-04-05T10:56:01]i203: Planned feature: PL1000Set, state: Absent, default requested: Unknown, ba requested: Unknown, execute action: None, rollback action: None
[2DBC:2998][2016-04-05T10:56:01]i203: Planned feature: PLCM3Set, state: Absent, default requested: Unknown, ba requested: Unknown, execute action: None, rollback action: None
[2DBC:2998][2016-04-05T10:56:01]i203: Planned feature: HPROBESet, state: Absent, default requested: Unknown, ba requested: Unknown, execute action: None, rollback action: None
[2DBC:2998][2016-04-05T10:56:01]i203: Planned feature: HRDLSet, state: Absent, default requested: Unknown, ba requested: Unknown, execute action: None, rollback action: None
[2DBC:2998][2016-04-05T10:56:01]i203: Planned feature: USBPT104Set, state: Absent, default requested: Unknown, ba requested: Unknown, execute action: None, rollback action: None
[2DBC:2998][2016-04-05T10:56:01]i203: Planned feature: USBTC08Set, state: Absent, default requested: Unknown, ba requested: Unknown, execute action: None, rollback action: None
[2DBC:2998][2016-04-05T10:56:01]i203: Planned feature: USBDRDAQSet, state: Absent, default requested: Unknown, ba requested: Unknown, execute action: None, rollback action: None
[2DBC:2998][2016-04-05T10:56:01]i203: Planned feature: KernelDrivers, state: Absent, default requested: Unknown, ba requested: Unknown, execute action: None, rollback action: None
[2DBC:2998][2016-04-05T10:56:01]i000: Setting string variable 'WixBundleRollbackLog_PicoSDK_64' to value 'C:\Users\pdv8cob\AppData\Local\Temp\Pico_Technology_SDK_64-bit_20160405105600_0_PicoSDK_64_rollback.log'
[2DBC:2998][2016-04-05T10:56:01]i000: Setting string variable 'WixBundleLog_PicoSDK_64' to value 'C:\Users\pdv8cob\AppData\Local\Temp\Pico_Technology_SDK_64-bit_20160405105600_0_PicoSDK_64.log'
[2DBC:2998][2016-04-05T10:56:01]i201: Planned package: PicoSDK_64, state: Absent, default requested: Present, ba requested: Present, execute: Install, rollback: Uninstall, cache: Yes, uncache: No, dependency: Register
[2DBC:2998][2016-04-05T10:56:01]i299: Plan complete, result: 0x0
[2DBC:2998][2016-04-05T10:56:01]i300: Apply begin
[210C:22EC][2016-04-05T10:56:01]w308: Automatic updates could not be paused due to error: 0x80240025. Continuing...
[210C:22EC][2016-04-05T10:56:01]i360: Creating a system restore point.
[210C:22EC][2016-04-05T10:56:01]w363: Could not create system restore point, error: 0x80070422. Continuing...
[210C:22EC][2016-04-05T10:56:02]i000: Caching bundle from: 'C:\Users\pdv8cob\AppData\Local\Temp\{d46c2125-3343-4dbd-9f2f-3662cbc4c51f}\.be\PicoSDK_64_10.6.10.22.exe' to: 'C:\ProgramData\Package Cache\{d46c2125-3343-4dbd-9f2f-3662cbc4c51f}\PicoSDK_64_10.6.10.22.exe'
[210C:22EC][2016-04-05T10:56:02]i320: Registering bundle dependency provider: {d46c2125-3343-4dbd-9f2f-3662cbc4c51f}, version: 10.6.10.22
[210C:306C][2016-04-05T10:56:03]i305: Verified acquired payload: PicoSDK_64 at path: C:\ProgramData\Package Cache\.unverified\PicoSDK_64, moving to: C:\ProgramData\Package Cache\{3EFCFC74-3C75-4B06-B1B3-13EE92C4F9C2}v10.6.10.22\PicoSDK_64_10.6.10.22.msi.
[210C:22EC][2016-04-05T10:56:03]i323: Registering package dependency provider: {3EFCFC74-3C75-4B06-B1B3-13EE92C4F9C2}, version: 10.6.10.22, package: PicoSDK_64
[210C:22EC][2016-04-05T10:56:03]i301: Applying execute package: PicoSDK_64, action: Install, path: C:\ProgramData\Package Cache\{3EFCFC74-3C75-4B06-B1B3-13EE92C4F9C2}v10.6.10.22\PicoSDK_64_10.6.10.22.msi, arguments: ' ARPSYSTEMCOMPONENT="1" MSIFASTINSTALL="7"'
[210C:22EC][2016-04-05T10:56:41]e000: Error 0x80070643: Failed to install MSI package.
[210C:22EC][2016-04-05T10:56:41]e000: Error 0x80070643: Failed to execute MSI package.
[2DBC:2998][2016-04-05T10:56:41]e000: Error 0x80070643: Failed to configure per-machine MSI package.
[2DBC:2998][2016-04-05T10:56:41]i319: Applied execute package: PicoSDK_64, result: 0x80070643, restart: None
[2DBC:2998][2016-04-05T10:56:41]e000: Error 0x80070643: Failed to execute MSI package.
[210C:22EC][2016-04-05T10:56:41]i318: Skipped rollback of package: PicoSDK_64, action: Uninstall, already: Absent
[2DBC:2998][2016-04-05T10:56:41]i319: Applied rollback package: PicoSDK_64, result: 0x0, restart: None
[210C:22EC][2016-04-05T10:56:41]i329: Removed package dependency provider: {3EFCFC74-3C75-4B06-B1B3-13EE92C4F9C2}, package: PicoSDK_64
[210C:22EC][2016-04-05T10:56:41]i351: Removing cached package: PicoSDK_64, from path: C:\ProgramData\Package Cache\{3EFCFC74-3C75-4B06-B1B3-13EE92C4F9C2}v10.6.10.22\
[210C:22EC][2016-04-05T10:56:41]i330: Removed bundle dependency provider: {d46c2125-3343-4dbd-9f2f-3662cbc4c51f}
[210C:22EC][2016-04-05T10:56:41]i352: Removing cached bundle: {d46c2125-3343-4dbd-9f2f-3662cbc4c51f}, from path: C:\ProgramData\Package Cache\{d46c2125-3343-4dbd-9f2f-3662cbc4c51f}\
[2DBC:2998][2016-04-05T10:56:41]i399: Apply complete, result: 0x80070643, restart: None, ba requested restart:  No
Attachments
Installation error Screenshot.
Installation error Screenshot.
Installation error Screenshot.
Installation error Screenshot.

AndrewA
PICO STAFF
PICO STAFF
Posts: 394
Joined: Tue Oct 21, 2014 3:07 pm

Re: New SDK Installer Instructions

Post by AndrewA »

Hi Pradeep,

Yes, there have been a few customers with same issue.
I'm not able to replicate this here, the problem more of a system/installer technology related.

Long discussion here:
http://windows-installer-xml-wix-toolse ... 21050.html

And it looks like it has never been fixed.

It fails with above error when certificate exists already on different store and installer has no right/elevation to replace them. Kernel Drivers install 3 certificates: Pico + 2 intermediates.

Try these Steps to fix the the issue:

1. Press Windows + R and type in mmc
2. New console appears
3. Go to File/Add/Remove Snap-in
4. Select certificates and click ADD
5. Through Wizard, chose Computer/Local Machine
6. Click right on the of a tree and search for any Pico Technology in Issued to Field
7. Delete Any found (click right -> delete)
8. Repeat search for ‎00 77 90 f6 56 1d ad 89 b0 bc d8 55 85 76 24 95 e3 58 f8 a5 in SHA1 hash (Symantec intermediate)
9. Delete Any found (click right -> delete)
10. Repeat search for ‎32 f3 08 82 62 2b 87 cf 88 56 c6 3d b8 73 df 08 53 b4 dd 27 in SHA1 hash (Verisign intermediate)
11. Delete Any found (click right -> delete)
12. Close the console

Try installing the SDK again.
Regards Andrew
Technical Specialist

Pradeep
Newbie
Posts: 1
Joined: Mon Apr 04, 2016 10:21 am

Re: New SDK Installer Instructions

Post by Pradeep »

Hi Andrew,

The workaround worked fine. Thanks for the update.

Simon
Newbie
Posts: 0
Joined: Fri Jun 01, 2012 10:26 am

Re: New SDK Installer Instructions

Post by Simon »

Hello

I have written an application that uses a PicoScope 5000 and have it working well on my development machine, I'm now looking to deploy my application to a customer machine and would rather not have to install the SDK on their machine. Is there a guide somewhere that tells me what I dll's etc I need to install on the customers machine?

thanks

Simon

Hitesh

Re: New SDK Installer Instructions

Post by Hitesh »

Hi Simon,

The Programmer's Guide outlines the dlls required in section 3 (The ps5000a driver).

You will need the ps5000a.dll and picoipp.dll files, and also will need to deploy the system folder in the SDK containing the installer for the USB kernel drivers.

If you have installed the 32-bit SDK on a 64-bit PC, it will install the USB kernel drivers for a 64-bit architecture so you will need to install the SDK on a 32-bit PC as well to obtain the folder. This will be fixed in a future release so it is possible to obtain the files for both 32-bit and 64-bit architectures in the installation directory.

Regards,

Simon
Newbie
Posts: 0
Joined: Fri Jun 01, 2012 10:26 am

Re: New SDK Installer Instructions

Post by Simon »

Hello Hitesh

Thanks for the information, I have managed to get the USB drivers to install ok so my computer recognises the picoscope when it's plugged in.

What do I need to do with the ps5000a.dll and picoipp.dll files? My program works fine when I install the SDK on the target machine.

Thanks

Simon

Hitesh

Re: New SDK Installer Instructions

Post by Hitesh »

Hi Simon,

The dlls are installed as part of the SDK installation process.

If you do not wish to install the SDK on the Customer's PC, then the ps5000a.dll and picoipp.dll will need to be placed in a location that is defined in the Windows PATH environment variable or in the same directory as the executable file.

Regards,

picouser996
Newbie
Posts: 0
Joined: Thu Jun 16, 2016 5:06 pm

Re: New SDK Installer Instructions

Post by picouser996 »

NetworkExplorer.dll  Error
NetworkExplorer.dll Error
I'm trying to install the 64bit SDK but get the error shown in the picture.

Hitesh

Re: New SDK Installer Instructions

Post by Hitesh »

Hi picouser996,

Please try downloading the file again and running the installer again.

Alternatively, please try the PicoSDK 6.10.11 Beta installer.

Are you using Windows 7, and is your operating system up to date with all patches and updates?

Regards,

richmars
Newbie
Posts: 0
Joined: Thu Dec 07, 2017 2:43 pm

Re: New SDK Installer Instructions

Post by richmars »

Hi,
I'm trying to install the SDK on a Windows 10 laptop. I just get the blue Windows spinning wheel for a few seconds then nothing. Anything else I can try?
Thanks,
Richard

Hitesh

Re: New SDK Installer Instructions

Post by Hitesh »

Hi Richard,

Do you have the directory structure as described above?

Is it the 32-bit or 64-bit PicoSDK that you are trying to install?

Regards,

richmars
Newbie
Posts: 0
Joined: Thu Dec 07, 2017 2:43 pm

Re: New SDK Installer Instructions

Post by richmars »

Hitesh,
Thanks for you post.
For some reason there was a long delay between me clicking on the exe and something happening. I leave my PC on overnight and when I arrived this morning there were about 10 installations waiting for me to click install!
All seems to be woking now.

Regards,
Richard

Post Reply