How to Launch an Application or Run a Script when a Layer's State Changes
SVS CodeMaster Jeremy Hurren just threw another gem over the wall. If you want an SVS action (activate, deactivate, delete ...) to trigger an application, or send a message, or play a sound, here's the recipe.
Have you ever needed to run an external process when a layer gets activated, or deactivated, or deleted? You might, for example, have a third-party inventory system and want to re-evaluate the computer's inventory when layers activate and deactivate. (Send us your examples*).
Or maybe, like me, you just want to play a sound when layers activate. The following example plays the ding.wav file when a layer is activated and the chord.wav file when a layer is deactivated.
HKEY_LOCAL_MACHINE\SYSTEM\Altiris\FSL
OnPostActivate (MULTI_SZ) = "PlaySound.exe "C:\Windows\Media\ding.wav""
OnPostDeactivate (MULTI_SZ) = "PlaySound.exe "C:\Windows\Media\chord.wav""
In addition to a global setting like the one above, you can also change settings for individual layers by using the following registry key.
HKEY_LOCAL_MACHINE\SYSTEM\Altiris\FSL\1 (replace 1 with the layer number)
There are a number of events that can be captured in this fashion. Here is a complete list of the possible registry values, all of which are REG_MULTI_SZ types:
- OnPreActivate
- OnPostActivate
- OnPreDeactivate
- OnPostDeactivate
- OnPreImport
- OnPostImport
- OnPreExport
- OnPostExport
- OnPreReset
- OnPostReset
- OnPreDelete
- OnPostDelete
- OnPreCreate
- OnPostCreate
- OnPreCapture
- OnPostCapture
* Let us know if you've come up with some cool applications for this tip. Send us your ideas and we'll post them here.
- Login or register to post comments
- 7145 reads
- Printer-friendly version















Activate/Deactivate related layer
Can it be made so that an application layer, when activated/deactivated, activates/deactivates a related data layer?
-Hamlet
Activate/Deactivate related layer
Sure it can. You could just create an OnPostActivate and OnPostDeactivate for the application layer. For each, you would enter a command like "svscmd.exe [GUID-of-data-layer] activate" or "svscmd.exe [GUID-of-data-layer] deactivate".
Great Idea!
--LordJeb
Group Layer (OnPostActivate / OnPostDeactivate)
Hi,
I post a Tip for OnPostActivate / OnPostDeactivate to hide a file, when a Layer is activate / deactivate.
See this ...
Altiris support forum
Sorry for my bad English…
Hi lordjeb,
Hi lordjeb,
Thank you for adding this feature. It opens a lot of possibilities.
But I wonder how I could use OnPreCreate or OnPostCreate. A layer only exists after it is created. And I can't add anything to the registry when it doesn't exist yet.
Or are these events only useful as global events? I understood from your main post that the list of events only applies to layers. And that only the de-/activate events can also be used globally. But I guess I misinterpreted it. Could you please confirm? Thanks a lot.
Ciao
toralf
Services?
Could this be used to start a service? OR add a service and start it?
GUI Please
Is it possible to add / have a GUI Please?
You now for old guys like me, remembering the commands are bit tuff. I used to write it in a piece of paper & loose them frequently :(
GUI = Wise Package Studio
The GUI for creating and editing SVS events is in Wise Package Studio. There is also a free tool here on the Juice.
Scott Jones
Product Manager
Altiris, Inc.
Now Part of Symantec
Thank You
Thank You very much for the informations.
Regards,
Swami
Restart spooler
We use the OnEvent actions (OnPostActivate, OnPostDeactivate and OnPostReset) most of the time to restart the spooler service so that printers from virtual packages work correctly.