Video Screencast Help
Protect Your POS Environment Against Retail Data Breaches. Learn More.

Virtualization SDK Documentation: FSL2 Class

Created: 15 Apr 2008 • Updated: 08 Feb 2013 | 28 comments
Jordan's picture
+1 1 Vote
Login to vote

Previously, I've covered WMI and SVS with scripting and with .Net C#. This provided the Juice community with a C# class that allowed for easy integration into any .Net application you may want to make. WMI provides a lot of convenience and relative ease of use, but I know that everyone wants a way to use the actual SVS library for your work. There is an SDK available to download but it's in C++ and doesn't have the best documentation in the world. Over the past few months I've been wrapping various SVS APIs that I've needed into C# and have decided to share that information with the community.

I will be providing a class, named FLS2 that you can download and use as well as articles on how to use the class. At first there won't be many methods in FSL2 because I'll only add them as I complete the documentation. There's also a lot I haven't used or marshaled in as of this writing. To make things easy and simple every time there's a new article posted and the class is updated I'll put all notes here -- in this article -- as well as link to all the articles. By doing that you'll only have to subscribe to one page and not have to worry about which articles have any downloads or not.

And for all you C++ fans out there you may not have much interest in the class that's available but each of the linked articles will go into some depth on each API and how or why they're used so there's something for you as well.

It would also be helpful to have the FSLLIB.HLP file that comes with the SDK for reference because I will not be retyping all the information in the help file and I cannot promise the API I cover will be fully covered in my articles.

SVS SDK Documetation

SWV 6.1 SDK Documetation

SWV 6.1 SP1 SDK Documetation

Return to the Virtualization SDK Book
 

License: Altiris EULA
By downloading this software, you agree to the terms and conditions in the Altiris End User License Agreement
Support: User-contributed tools on the Juice are not supported by Altiris Technical Support. If you have questions about a tool, please communicate directly with the author by visiting their profile page and clicking the 'contact' tab.

Comments 28 CommentsJump to latest comment

Jordan's picture

FSL2 Class has been updated with the content in Part Two.

If a forum post solves your problem please flag is as the solution

+1
Login to vote
Jordan's picture

For those that are interested here's a list of the SDK article I have planned.

1) Intro and Initializing SVS
2) Common Methods
3) Import and Export
4) Attributes
5) Capture and Create
6) Onevents and Excludes
a) Companion article that goes in depth on onEvent handlers and when certain events will and wont work.

Not sure what I'll cover after that, I'll probably have an article on using files and one on using registry stuff with SVS then do one last one that's just a mix of what's left that people may actually want to use.

I'm probably not going to cover every function in the API but if you have something you want to know that's not covered in the 6 articles listed let me know and I'll cover it.

If a forum post solves your problem please flag is as the solution

+1
Login to vote
Jordan's picture

The download has been updated with the content from Part 3.

If a forum post solves your problem please flag is as the solution

+1
Login to vote
Jordan's picture

the download has been updated with the content from part Four.

If a forum post solves your problem please flag is as the solution

+1
Login to vote
Jordan's picture

The FSL2 Class has been updated for the content in part Five.

If a forum post solves your problem please flag is as the solution

+1
Login to vote
Jordan's picture

The download has been updated to add the content used in part 6.

If a forum post solves your problem please flag is as the solution

+1
Login to vote
AngelD's picture

Nice done Jordan!

Now we just have to wait for everyone to provide the tools based on the code :D

+1
Login to vote
Jordan's picture

Thanks

I've got two tools in the works right now based off this code: an OnEvents manager and a Layer Exclude wizard that scans the layer for excludes (it's more intelligent then the exclude finder up on the juice now which just places any file type listed in a layer in the exclude list).

They're mostly done core feature wise but I'm still working on the GUIs for each and it's taking a while since I'm wanting to make these two processes as simple and useful as possible.

If a forum post solves your problem please flag is as the solution

+1
Login to vote
FrankB's picture

Until it is finished this excellent tutorial.

I can't stand the suspense waiting until the next article, that's why I wait until finished :)

I already fell for this trap after reading the first article :)

Cheers, FrankB

______________________________________________
Frank Bastiaens
Senior Technical Consultant
Vanderlet B.V.

+1
Login to vote
Jordan's picture

Sadly you'll have to wait a little longer, I haven't had time to start writing the next article and I probably won't get to it for another week or two. But right now I'm looking at only two more to finish things off, I don't think I'm going to cover any of the registry APIs because they're pretty much the same ones that are listed in the MSDN.

If a forum post solves your problem please flag is as the solution

+1
Login to vote
Jordan's picture

The download has been updated with the content from part 7.

If a forum post solves your problem please flag is as the solution

0
Login to vote
Jordan's picture

The download for part 8 is up.

If a forum post solves your problem please flag is as the solution

0
Login to vote
Jordan's picture

The download for part 9 is up, the article should be up in the next few days.  Can't believe it took this long to get to but this is the end of the SVS 2.x API documentation unless there are specific API that I didn't cover that people want.

If a forum post solves your problem please flag is as the solution

0
Login to vote
Jordan's picture

Part 1 of the SWV 6.1 SDK is up and there's a new download that contains 6.1 Specific API.

Also I've got through and renamed many of the earlier articles to something that's easier to read and understand, you can see an example in how this article is now called Virtualization SDK Documentation: FSL2 Class.

If a forum post solves your problem please flag is as the solution

0
Login to vote
Jordan's picture

Part 5 of SWV 6.1 SDK has been added and a new class has been uploaded.

A question for those actually following along, would anyone actually be interested in a DLL version of this so you could just replace one file instead of 3 things in every project you have going?

If so would it annoy people if I change the class from FSL2 to Virtualization?  I think its a better class name but I don't want to do something that would make the DLL something people wouldn't want to use.

If a forum post solves your problem please flag is as the solution

0
Login to vote
Jordan's picture

The first part of the SP1 SDK guide is up, I recommend everyone that creates custom tools to read it because there have been some significant changes that could break what you've made.

If a forum post solves your problem please flag is as the solution

0
Login to vote
AngelD's picture

Jordan,

Found a typo in the api wrapper (one equal character too many)

[DllImport("fsllib32.dll", SetLastError = true, EntryPoint = "=FSL2SetShellRefreshFlag")]
should be:
[DllImport("fsllib32.dll", SetLastError = true, EntryPoint = "FSL2SetShellRefreshFlag")]

 

0
Login to vote
Jordan's picture

thanks Kim I'll make that change for the next upload.

I'm not to worried about that API because it's been depricated in 6.1 and I believe returns a 2006 error (FSL2_ERROR_DEPRICATED) now.

If a forum post solves your problem please flag is as the solution

0
Login to vote
Jordan's picture

A new Guide has been posted and the class has been updated to reflect that.

If a forum post solves your problem please flag is as the solution

0
Login to vote
clivant's picture

Hi Jordan,

Are there a reference of the possible error codes that may be return from the functions? 

0
Login to vote
Jordan's picture

Yes.

For a full list of SWV error codes you can check out this blog post https://www-secure.symantec.com/connect/blogs/swv-error-codes

For what each API can possibly return check the help file that's installed with the SDK option of SWV.

If a forum post solves your problem please flag is as the solution

0
Login to vote
clivant's picture

Thank you Jordan. :)

0
Login to vote
clivant's picture

Is there any way to detect which provisioned applications are being used or launched?

0
Login to vote
Jordan's picture

Not with the SWV SDK.  Streaming has a webservice SDK, which is something you can install via it's installer, there's not much on connect about it--and I'm afraid I've never used it--so I don't know if it can do what you're looking for.

Here's the only article I could find about it https://www-secure.symantec.com/connect/articles/symantec-workspace-streaming-sws-sdk-examples-c

I would suggest asking in the comments section of the article.

If a forum post solves your problem please flag is as the solution

0
Login to vote
clivant's picture

Hi Jordan,

Thank you for your reply.

0
Login to vote
clivant's picture

Hi, 

For some instances of application packages (.xpf) produced, a System.AccessViolationException is thrown when I import the xpf file, both with the SDK and svscmd.

Is there a function in the sdk to check if an xpf file is packaged properly before I invoke the import function?

0
Login to vote
schnyders's picture

I must be blind, or where is the download link. Or is it not working any more with the new releases of swv?

If a forum post solves your problem, please flag it as a solution. If you like an article, blog post or download vote it up.
0
Login to vote
AngelD's picture

Hi schnyders,

I've send a notis to the Admin regarding the missing download link!

Cheers!

0
Login to vote