Test and Measurement Forum

New SDK Installer Instructions

Post general discussions on using our drivers to write your own software here

New SDK Installer Instructions

Postby AndrewA » Tue Aug 18, 2015 11:29 am

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

Drivers and example code are included for all PicoScopes, 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 SDK undertakes the following 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++ 2010 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\ - Documentation
• inc\ - Header files
• lib\ - Driver and library files
• src\ - Source code Examples (Intended for reference only)
• system\ - Kernel drivers

Source code Examples:
• C:\PicoSDK (default location)

Source code examples are placed in the src\ folder mentioned above, this folder is intended for reference only, to compare to your working examples.
Another copy of the source code examples is placed in C:\PicoSDK, this is the default location, but can be changed by selecting 'Examples' and clicking the 'Browse' button. (See the third picture below.)
We suggest that you copy or select another location for the source code examples. For example, the 'Documents' folder - that way if you install a new version of the SDK in the future, it won't overwrite any changes you make.

All the C and C# solutions 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 as 64-bit versions:
http://www.microsoft.com/en-gb/download/details.aspx?id=4422

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

We also offer Beta versions for both 32 and 64-bit versions. The difference being the beta versions contains beta drivers for anyone willing to test these.
These maybe unstable but contain improves/fixes and/or new features.
These can't be installed over the top of a existing SDK install. The installer will stop and report a warning. So you will have to un-install an existing SDK package to switch between stable and beta versions.
You can mix, say a 32-bit stable and 64-bit beta versions or vice-a-verse, on a 64-bit system.

Screenshots of step by step installation of the SDK

Start the installer-
sdk32-1.png
Start the installer

License agreement-
sdk32-2.png
License agreement

Source code examples folder can be changed-
sdk32-3.png
Source code examples folder can be changed

Drivers and examples can be deselected-
sdk32-3b.png
Drivers and examples can be deselected

Installation in progress-
sdk32-4.png
Installation in progress

Installation complete-
sdk32-5.png
Installation complete
Regards Andrew
Technical Specialist
AndrewA
Zen Master
Zen Master
 
Posts: 178
Joined: Tue Oct 21, 2014 3:07 pm

Re: New SDK Installer Instructions

Postby hexamer » Fri Oct 09, 2015 4:19 pm

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.
hexamer
Advanced User
Advanced User
 
Posts: 62
Joined: Tue Aug 12, 2014 10:09 pm

Re: New SDK Installer Instructions

Postby AndrewA » Fri Oct 16, 2015 10:05 am

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
AndrewA
Zen Master
Zen Master
 
Posts: 178
Joined: Tue Oct 21, 2014 3:07 pm

Re: New SDK Installer Instructions

Postby Pradeep » Wed Apr 06, 2016 4:21 am

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
PicoSDK_Error1.JPG
Installation error Screenshot.
PicoSDK_Error.JPG
Installation error Screenshot.
Pradeep
Newbie
 
Posts: 1
Joined: Mon Apr 04, 2016 10:21 am

Re: New SDK Installer Instructions

Postby AndrewA » Thu Apr 07, 2016 10:09 am

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-toolset.687559.n2.nabble.com/Certificate-install-to-local-machine-fails-with-code-26352-td1121050.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 <Enter>
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
AndrewA
Zen Master
Zen Master
 
Posts: 178
Joined: Tue Oct 21, 2014 3:07 pm

Re: New SDK Installer Instructions

Postby Pradeep » Thu Apr 07, 2016 10:17 am

Hi Andrew,

The workaround worked fine. Thanks for the update.
Pradeep
Newbie
 
Posts: 1
Joined: Mon Apr 04, 2016 10:21 am

Re: New SDK Installer Instructions

Postby Simon » Thu May 05, 2016 8:12 am

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
Simon
Newbie
 
Posts: 0
Joined: Fri Jun 01, 2012 10:26 am

Re: New SDK Installer Instructions

Postby Hitesh » Thu May 05, 2016 2:18 pm

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,
Hitesh

Technical Specialist
Pico Technology
Hitesh
Site Admin
Site Admin
 
Posts: 1997
Joined: Tue May 31, 2011 3:43 pm
Location: St. Neots, Cambridgeshire

Re: New SDK Installer Instructions

Postby Simon » Mon May 09, 2016 9:59 am

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
Simon
Newbie
 
Posts: 0
Joined: Fri Jun 01, 2012 10:26 am

Re: New SDK Installer Instructions

Postby Hitesh » Mon May 09, 2016 10:26 am

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,
Hitesh

Technical Specialist
Pico Technology
Hitesh
Site Admin
Site Admin
 
Posts: 1997
Joined: Tue May 31, 2011 3:43 pm
Location: St. Neots, Cambridgeshire

Re: New SDK Installer Instructions

Postby picouser996 » Thu Jun 16, 2016 5:19 pm

picoerror.JPG
NetworkExplorer.dll Error


I'm trying to install the 64bit SDK but get the error shown in the picture.
picouser996
Newbie
 
Posts: 0
Joined: Thu Jun 16, 2016 5:06 pm

Re: New SDK Installer Instructions

Postby Hitesh » Mon Jun 20, 2016 9:27 am

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,
Hitesh

Technical Specialist
Pico Technology
Hitesh
Site Admin
Site Admin
 
Posts: 1997
Joined: Tue May 31, 2011 3:43 pm
Location: St. Neots, Cambridgeshire


Return to General Software Discussions

Who is online

Users browsing this forum: No registered users and 0 guests