SVS 2.1 Software Developer Kit Now Available

SVS 2.1 Software Developer Kit Now Available
Juicemaster's picture

The SVS Software Developer Kit has been updated for SVS 2.1. There's lots of useful new stuff in there, so get it today and start building that next killer app for SVS! As with the previous SVS SDK, it's free!

The SVS SDK provides API level access to the full SVS system. This API is used internally by the product team and has also been used by several third parties. The SDK contains C header files, a lib file, full documentation, and sample code. Documentation on the new WMI provider is also included.

Download SVS SDK 2.1 here. (Extract and run ACME.EXE to install.)

Editor's Note: This version of the SVS SDK has two dependencies to get it installed: .NET Framework 2.0 and the MSDN Library. The MSDN Library gets installed with Visual Studio 2003 or 2005, or may be obtained separately from here.

Redistribution of tools and applications developed with the SVS SDK:

You'll notice that the SDK license prohibits redistribution of derivative works. That means you can freely use what you write inside your organization, but can't give it to anyone externally.

If you're interested in freely sharing your new fantastic application that you created with the SVS SDK, you're welcome to submit it right here on the Juice.

Want to develop an application for commercial purposes, or have some alternate distribution channel in mind? Please contact the SVS product team!

Check out an open source project that uses the SVS API!

 

4.384615
Average: 4.4 (13 votes)

Just got my copy!

Jgo.D0lemite's picture

Who else already has this, and does anyone have some code examples?

Update Posted Today

Scott Jones's picture

Nothing major. Just adds in the HLP file that we forgot before. Excelsior!

Commercial SVS SDK License Also Free

Scott Jones's picture

I saw this comment in the SVS support forum: "The Altiris SVS SDK ... usage is subject to a lot of restrictions"

Well, yes, if you just click thru the license on the Developer Portal. But you'll notice that the article above says, "Want to develop an application for commercial purposes, or have some alternate distribution channel in mind? Please contact the SVS product team."

We do not charge for a standard commercial SVS SDK license either. All we want is some awareness of who's doing what. That e-mail address goes to me. As long as the intended use is legal, I will probably send you the regular SDK agreement for signature the same day.

Scott Jones
Product Manager
Altiris, Inc.

Why does SDK require .NET 2.0?

I want to know, technically, why .NET 2.0 is required for the SDK. Does fsllib32.lib reference a .NET library or is the .NET requirement for the SDK installer.

Carvel

Excellent Question!

Scott Jones's picture

SVS has no dependencies other than the Microsoft filter driver framework (which is core in Win2K and newer).

The .NET framework is for the SDK installer only. Personally, I don't like the idea of such a huge dependency for such a trivial tool. But Altiris is a very MS-focused shop, so it's not unexpected.

SVS SDK

erikw's picture

Is there a way to use the Beta 1.6 in the SDK?

Regards
Erik

SVS 2.1 SDK

Scott Jones's picture

I'll talk with Development next week about getting a beta of the 2.1 SDK available; there are several cool new things in it. I'm pretty sure that the v1 SDK syntax should all work with SVS 2.1, tho. We do have a a rigid policy now of keeping interfaces backward compatible.

Great

erikw's picture

It would be great to release the 2.1 version in the SDK. I'm looking forward for the new cool things.

Regards
Erik

Me too

it would be so nice if they would release the 2.1 version in the SDK, the things I have heard about its going to be amazing so excited cant wait thanks for the post.

Thanks

timonokinawa's picture

Awesome and thanks for making the SDK available.

The license agreement is awesome as well.

Thanks again.

Hmmmm ...SVS 2.1 SDK

I dont know, but I cant install Visual Studio on my PC.

And the SDK work not with SharpDevelop.

So I have install Visual Studio Express on Virtual PC. (This work)

But I can't install the SDK in a target Folder.
After install i must search for the SDK, it is not
in the Altiris SVS Folder, or in Program.

All Folder are in the Root Partition (Why?)

Then I found not anything Help about the new WMI provider.

I don't know, I have all Folder ...

Documentation Anywhere?

I have only used the Altiris ASDK. I haven't used the SVS SDK in the past. Is there any documentation on it at all anywhere? I'm not sure how to even install it, let alone use it.

Good question...

Scott Jones's picture

There are two MSI's... I tried both; neither seems to do anything... I'll ask the SDK team for some guidance.

SVS SDK 2.1

Scott Jones's picture

Seems that we didn't build the package correctly, so it's been pulled for now. The correct people are doing a build for us Monday.

RE: SVS SDK 2.1

Sounds well.
Thank you for the Help Scott.

greeting
FrankM

no download

mmhh

The Download Site shows me no way of getting the SDK...

whats wrong ??

greetz
Sundance

okay okay. Better i should read the whole comments. :-)

gonna wait for the new package...

SVS 2.1 SDK Updated - Installer Added

Scott Jones's picture

Ok, we now have a good install package posted. Extract the .ZIP file and then run ACME.EXE. If you ran the MSI's in your base from the previous, bad download, you will need to select "Repair" to get it set up correctly with this update.

Scott Jones
Product Manager
Altiris, Inc.
Now Part of Symantec

Error message

erikw's picture

Scott,

Thanxs for the update, but now i get a error:
Product 0cbbbff4-e4cf-4ced-89de-24450f1bd553 is not installed.

Exception details:

System.InvalidOperationException: Product 0cbbbff4-e4cf-4ced-89de-24450f1bd553 is not installed.
at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
at Altiris.SDK.Core.Utilities.DelegateHelper.SynchInvoke(MulticastDelegate multiCastDelegate, Object[] invocationArguments)
at Altiris.SDK.ComponentManager.Engine.Sequence.OnExecuteError(EngineAction action, Exception exception)
at Altiris.SDK.ComponentManager.Engine.Sequence.Execute()
at Altiris.SDK.ComponentManager.Engine.ComponentEngine.DoMainSequence()
at Altiris.SDK.ComponentManager.Engine.ComponentEngine.Execute()
at Altiris.SDK.Acme.Controls.UpdateProgressControl.UpdateWorkerProc(Object state)

Can you help me on this one?

Regards
Erik
www.svs4u.nl

SDK Installer

Hi Scott,

I can also not install the SDK. (Testet on two PC)

When I select install, the Installer tell "Nothing to do"

Image:

Image:

Thanxs for Help.

Regards
Frank

Sigh and Grrrr...

Scott Jones's picture

You know, it's a darn shame we have to go through all this just to get access to a few ASCII text files...

Ok, I'll keep working on it!

RE: Sigh and Grrrr...

Don't worry ... (We can wait)

Do we need an Installer?
Can we become a *.zip with all Help Files.
Ony Extract and Fun...

*.chm Help Files, not Microsoft Help 2.x.

Regards
Frank

SVS SDK update

I had this issue too, so I manually removed them using msiexec /x {ProductCode} and then launched Acme.exe again to install which worked.

SVS SDK Dependencies

Scott Jones's picture

Ok... While we work on getting the SVS SDK in a more consumable format, in the meantime I've added the current dependency info above.

I don't have Visual Studio, and I'm betting most of you don't either. That separate download for the MSDN Library is 2.2 GB. And none of this stuff is actually needed to use the content of the SDK; that's just to get it installed. Sorry... When we have a different format, I'll update this article.

SDK in different format?

Dear Scott,

Any update on the different format of the SDK?

I'll work on an update for TorSVS and found out that Export with the SVSCMD.exe doesn't work with layer GUID, so I thought of using the DLL instead of SVSCMD as a workaround.

But to do this, I need to have the documentation on the functions, their parameters and return value of the DLL. Can I get this info in some other place/file than the SDK?

Export by GUID...

Scott Jones's picture

...should work on the command line. But in a quick test I get, "No layer with the specified GUID or Name exists in the database." Is that the same message you get? I've asked our test team to look at this.

As for getting the SDK in a different format, that will take a while, but I'm working on it.

SVSCMD bug is reported

Scott Jones wrote:
Is that the same message you get?
Yes, I posted the bug in the forum and Spriggan varified it too. Es is going to write it up so it is going to be fixed.

Ciao
toralf

Extract binary from MSI

Scott,
Jordan is aware of this and has reported back to the devs.

For those that already has downloaded the SVS SDK but are unable to install it can just extract the CAB file from the SVS_2_1_3.msi. I'll provide a vbscript that will extract the CAB file for you below. The files in the CAB file will not have the "correct" filenames as they have the PrimaryKey of the File table. But just extract the CAB and then look in the File table to get the real name.

VBScript to extract the SVS.CAB file.
You will have to change the MsiPath to the location where you have stored the SVS_2_1_3.msi and the directory where the output (OutputFile) should be extracted to must exist.

Dim MsiPath, BinaryName, OutputFile
MsiPath = "D:\Packaging\Virtualization\SVS\Tools\SVS SDK 2.1\SVSSDK\AltirisSDK\Packages\SVS\2.1\SVS_2_1_3.msi"
BinaryName = "SVS.cab"
OutputFile = "D:\Packaging\Virtualization\SVS\Tools\SVS SDK 2.1\SVSSDK\AltirisSDK\Packages\SVS\2.1\SVS\SVS.cab"

Call ExtractBinary(MsiPath, BinaryName, OutputFile)

Function ExtractBinary(MsiPath, BinaryName, Output)
	Const msiOpenDatabaseModeReadOnly = 0
	Const msiReadStreamAnsi = 2
	
	Dim Installer, Database, View, Record, BinaryData
	Dim FSO, Stream
	
	Set Installer = CreateObject("WindowsInstaller.Installer")
	Set Database = Installer.OpenDatabase(MsiPath, msiOpenDatabaseModeReadOnly)
	
	Set View = Database.OpenView("SELECT * FROM `_Streams` WHERE Name = '" & BinaryName & "'")
	View.Execute
	Set Record = View.Fetch
	If Not (Record Is Nothing) Then
		BinaryData = Record.ReadStream(2, Record.DataSize(2), msiReadStreamAnsi)
		
		Set FSO = CreateObject("Scripting.FileSystemObject")
		Set Stream = FSO.CreateTextFile(Output, True)
		Stream.Write BinaryData
		Stream.Close
	End If
End Function

kool

mojeeb's picture

thanks it was helpful

Syndicate content