Assembly: Microsoft.ComponentStudio.ComponentPlatformInterface (in microsoft.componentstudio.componentplatforminterface.dll)
Usage
Visual Basic |
---|
Dim packageAction1 As PackageAction |
Syntax
Visual Basic |
---|
Public Class PackageAction Inherits ObjectBase Implements IRemovable, ICustomTypeDescriptor |
C# |
---|
public class PackageAction : ObjectBase, IRemovable, ICustomTypeDescriptor |
C++ |
---|
public ref class PackageAction : ObjectBase, IRemovable, ICustomTypeDescriptor |
J# |
---|
public class PackageAction extends ObjectBase implements IRemovable, ICustomTypeDescriptor |
JScript |
---|
public class PackageAction extends ObjectBase implements IRemovable, , ICustomTypeDescriptor |
Example
In this example, you start by declaring the paths of the answer file, the Windows image file, and the distribution share folder on your machine. Then you open the offline image and create an answer file. You also open a package from a specific path in the distribution share, and then create a package action by using the answer file and the package objects. Finally, you display some of the package action properties.
Note: |
---|
To run this example, you must change the value of the variables
wimPath and distShare to the paths that
contain the .wim file and the distribution share on your machine,
respectively. You must also change the value of the variable
answerFile to the name of the answer file on your
machine. |
// PackageAction.cs using System; using System.Collections.Generic; using System.Text; using System.Diagnostics; using Microsoft.ComponentStudio.ComponentPlatformInterface; namespace MyNameSpace { public class MyClass { static void Main() { string wimPath = @"C:\myWorkingFolder"; string wimFile = wimPath + @"\install.wim"; string answerFile = wimPath + @"\myUnattend.xml"; string distShare = @"C:\DistributionShare"; // Create a Cpi instance: Cpi n = Cpi.Instance; // Check if the catalog file is created; // if not create one: WimInfo wimInfo = n.OpenWim(wimFile); if (!wimInfo.Images[0].ValidateCatalog().Succeeded) wimInfo.Images[0].CreateCatalog(); // Open the offline image: OfflineImage image = n.OpenOfflineImage(wimInfo.Images[0]); // Create an answer file: AnswerFile ua = n.CreateAnswerFile(image); // Open a package from a specific path: Package pkg = n.OpenPackage( distShare + @"\Packages\HotFix\Calc.package"); // Create a package action: PackageAction pa = ua.PackageActions.Create(pkg, CreateOptions.ReturnExisting); // Display the package action properties: Console.WriteLine("PackageAction name: {0}", pa); Console.WriteLine("Action: {0}", pa.Action); Console.WriteLine("Permanence type: {0}", pa.PermanenceType); } } } /* Output: PackageAction name: Calculator Demo Action: Install Permanence type: Removable */ |
Remarks
Instances of PackageAction
can be created
by calling one of the Create methods in
PackageActionCollection.
A package action is created for a package in a Windows image or from a package file.
Inheritance Hierarchy
System.Object
Microsoft.ComponentStudio.Common.ObjectBase
Microsoft.ComponentStudio.ComponentPlatformInterface.PackageAction
Microsoft.ComponentStudio.Common.ObjectBase
Microsoft.ComponentStudio.ComponentPlatformInterface.PackageAction
Thread Safety
Any public static (Shared in Visual
Basic) members of this type are thread safe. Any instance members
are not guaranteed to be thread safe.