© Sonic Solutions. All Rights Reserved.
2 Requirements and Installation
This chapter covers the technical requirements for using PrimoSDK, as well as PrimoSDK installation:
2.1 PrimoSDK System Requirements | go: top |
A host system running PrimoSDK must meet the following requirements in order for the API libraries to function properly:
Operating System | Windows 98SE, Windows NT 4 (Service Pack 4 or later), Windows Me, Windows 2000, Windows XP/XP Media Center Edition, and Microsoft Vista |
Processor | 300 MHz or faster Pentium II (or equivalent) |
RAM | 128MB Minimum |
Disk Space | 4MB for the PrimoSDK libraries |
2.2 PrimoSDK Installation | go: top |
The PrimoSDK API is contained in only one DLL (PrimoSDK.dll), which is called using the linking library PrimoSDK.lib and the include file PrimoSDK.h. When using Visual Basic, the programmer will need PrimoSDK.bas, which contains all the constants and function definitions.
Because PrimoSDK.dll is a layer over the Px Engine, when you install an application that uses PrimoSDK, you also need to install all components required for successful operation of Px Engine. PrimoSDK.dll will not load if the Px Engine is not installed.
Two distinct installation scenarios are covered below:
Note for Vista: The default install options should allow for full Vista support without any special handling. Customers wishing to override the default install options for Vista should carefully review sections 2.2.1 and 2.2.2.
2.2.1 Development Environment Install | go: top | section |
Installation in a development environment involves installing all files required to run PrimoSDK itself (as if in an end-user setting) plus an additional set of files that are of use only to developers.
The following files should be placed in the same directory as the host application:
Name | Comments |
PrimoSDK.DLL or PXSDKPLS.DLL |
PrimoSDK PrimoSDKPlus |
VCD.DTA | Template (used only for basic Video CDs) |
Pconfig.dcf | Configuration file |
The following files should be placed in a temporary directory:
Name | Comments |
PXSETUP.EXE | PxEngine install application. See below for usage. |
Mandatory files (must be installed for all PrimoSDK applications): | |
Pxhpinst.exe | Executable needed by PxSetup.exe to install Px Engine |
PX.DLL | Px Engine file |
PXMAS.DLL | Px Engine file |
PXWAVE.DLL | Px Engine file |
PXDRV.DLL | Px Engine file |
PXAFS.DLL | Px Engine file |
VXBLOCK.DLL | Service DLL for unique drive access |
PXSFS.DLL | Px Engine file |
Platform-specific files (installation depends on the target environment; recommended procedure is to include all files and allow the setup application to determine the install requirements): | |
Pxhelper.vxd | Windows 95/98/Me driver (optional if Windows 95/98/Me or derivative is not a target platform) |
Pxhelper.sys | Windows NT 4.0 driver (optional if Windows NT 4 is not a target platform) |
Pxhelper.inf | Windows NT 4.0 driver information file (optional if Windows NT 4 is not a target platform) |
PXHELP20.SYS | Windows 2000, Windows XP driver (optional if Windows 2000/XP or derivative is not a target platform) |
PxCpyI64.exe | Intel64 specific (optional if Intel64 is not a target platform) |
PxInsI64.exe | Intel64 specific (optional if Intel64 is not a target platform) |
PxHelp64.sys | Windows XP driver, Intel64 specific (optional if Windows XP for Itanium-based Systems is not a target) |
PxCpyA64.exe | AMD64 specific (optional if AMD64 is not a target platform) |
PxInsA64.exe | AMD64 specific (optional if AMD64 is not a target platform) |
PxHlpa64.sys | Windows XP driver, AMD64 specific (optional if Windows XP x64 Edition is not a target) |
Cdr4_2k.sys | Compatibility file for Windows 2000 (optional if Windows 2000 is not a target platform) |
Cdr4_xp.sys | Compatibility file for Windows XP (optional if Windows XP is not a target platform) |
Cdr4xp.64 | Compatibility file for Windows XP x64 Edition (optional if Windows XP x64 Edition is not a target platform) |
Cdralw2k.sys | Compatibility file for Windows 2000/XP (optional if Windows 2000 or Windows XP is not a target platform) |
Cdralw2k.64 | Compatibility file for Windows XP x64 Edition (optional if Windows XP x64 Edition is not a target platform) |
After placing the files in the directories indicated above, run the provided setup application PXSETUP.EXE, which will return one of the following application error codes:
Value | Definition |
0 | Installation was successful. |
3010 | Installation was successful; restart needed. |
-1 | Installation failed. |
PXSETUP.EXE accepts the following command-line parameters:
Name | Comments |
PXHELPONVISTA | Installs PxHelp drivers on Vista (disabled by default) |
VIOLATEVISTALOGO | Install PxEngine components to system directory on Vista |
STARTSERVICE | Attempts to start the PxHELP service without a reboot. |
UNINSTALL | Uninstall the engine. |
NOTE: The Windows user account type must be set to "Computer administrator" when running PXSETUP.EXE.
Additional developer-only components
The following files are used only in a development environment (not redistributed to end-users):
Name | Comments |
Block.h | VxBlock header file |
PrimoSDK.bas | Visual basic header file. |
PrimoSDK.h | C or C++ header file. |
PrimoSDK.lib | C import lib |
PxEngine*.exe | Px Engine updater ("*" stands for version number) |
pxSample_C.exe | Sample application |
Sample_C source: | |
Functions.c | |
PxSample_C.c | |
PxSample_C.dsp | VC 6.0 project file |
PxSample_C.dsw | VC 6.0 workspace |
PxSample_C.h | |
PxSample_C.ico | |
PxSample_C.rc | |
Record.c | |
Resource.h | |
Save.c | |
Verify.c | |
Init.c | |
Misc.c | |
Misc.h | |
Sample_VB source: | |
Sample_VB.frm | VB Form file |
Sample_VB.frx | VB Form Extension file |
Sample_VB.vbp | Visual Basic Project file |
! NOTE: Do not use PxEngine.exe to install Px Engine (see Updating Px Engine).
2.2.2 End-user Install | go: top | section |
PrimoSDK supports several different options for the installation of files required to run in an end-user setting. In all cases, the PrimoSDK-specific components are placed into the host application directory as outlined PrimoSDK components above.
Px Engine components may either be installed by following the installation procedures utilizing PXSETUP.EXE as outlined in Px Engine components above or via the Microsoft Install Engine installer. The following files have been provided for use with Microsoft Install Engine:
Name | Comments |
bl.msm | Installs VxBlock.dll. |
phsi.msm | Installs PxHelp transport driver. |
px.msm | Installs Px Engine DLL files. |
pxdrv.msm | Installs PxDrv.dll. |
pxsfs.msm | Installs Pxsfs.dll. |
Optional files: | |
pxafs.msm | Installs Pxafs.dll. Required if any Audio WSC APIs are used. |
ph.msm | Should be used as a replacement for phsi when PxHelp transport driver is required on Vista. |
The usage of these Microsoft Install Engine files depends on how Px Engine is to be installed:
NOTE: For further information on building MSI files, see http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vsinstal/html/veovrusingvisualstudioinstaller.asp.
2.2.3 Px Engine Uninstall | go: top | section |
After installation, a copy of PXSETUP.EXE should be kept in the application folder to run an uninstall if needed. Px Engine is uninstalled by launching PXSETUP.EXE with the "/UNINSTALL" parameter.
2.3 Example Applications | go: top |
PrimoSDK includes an example application in C ("pxSample_C.exe") that may be used to explore the capabilities of PrimoSDK. The application gives working examples of the usage of PrimoSDK calls, and comes with complete source code to aid understanding of how to perform the most common functions, including making copies, mastering data and audio discs, and creating and recording Global Images.
Also included is a Sample_VB directory containing everything needed to create a Visual Basic application (Sample_VB) that is similar to pxSample_C (though without as many features).
2.4 Updating Px Engine | go: top |
Px Engine is a common component that may be updated to provide currently-installed products with bug fixes or support for new drives. For information on obtaining a free update to the latest Px Engine version, please ask your Sonic representative.
When updates are available, they are distributed in a PxEngine*.exe file (with "*" indicating version number). PxEngine*.exe is a combination installer/self extracting zip file that installs all of the files that are listed in Px Engine components above as being installed with PXSETUP.EXE. However, PxEngine.exe does not install the PrimoSDK files that reside in the host application directory (e.g. PrimoSDK.DLL and Pconfig.dcf), and it is not intended as an alternative to the installation process described in PrimoSDK Installation above.
To update Px Engine, copy the PxEngine*.exe file from which you are updating into a temporary folder, then spawn it with the parameter "/H", which forces a silent installation. The operation will return one of the following application error codes:
Value | Definition |
0 | Installation was successful. |
3010 | Installation was successful; restart needed. |
-1 | Installation failed. |
NOTES:
» The Windows user account type must be set to "Computer administrator" when running PxEngine*.exe.
» Because Px Engine is a common component, it may also be updated by other applications such as Sonic RecordNow.