IronPython Deployment Sample
The IronPython deployment sample uses the other IronPython samples and the Windows Installer XML (WiX) toolset to demonstrate how to install a Visual Studio integration product on a user's computer.
Security Note |
|---|
| This sample code is provided to illustrate a concept and should not be used in applications or Web sites, as it may not illustrate the safest coding practices. Microsoft assumes no liability for incidental or consequential damages should the sample code be used for purposes other than as intended. |
To build and run the sample
-
Locate the deployment sample in <Visual Studio SDK installation path>\VisualStudioIntegration\Samples\IronPythonIntegration\Setup\.
-
Run the buildSetup.bat batch file to build the Windows Installer package, VSIIP.msi.
-
To install the IronPython integration sample into the standard Visual Studio hive, run VSIIP.msi:
start VSIIP.msi
Demonstrates
| buildSetup.bat | Uses the WiX tools, Candle and Light, to compile the deployment code and link it to create a Windows Installer package. |
| buildRegistration.bat | Batch file that does the following:
The include files generated by RegPkg contain some tokens that you must replace with values from your Windows Installer package, for example, the name of your VSPackage's component or the property used to hold the path of devenv.exe. While you are editing the include files, you can also determine whether you must change the component's GUID. For more information, see Changing the Component Code. Other files generated by this batch file are as follows:
You can compare them with other .wxi files included in the Visual Studio SDK to determine necessary adjustments. |
| Integration.wxs | WiX fragment that contains the IronPython integration sample VSPackages and related files, such as snippets and templates. Components that represent each VSPackage include the registry information that RegPkg generates in buildRegistration.bat. For example, the Component element for the IronPython console window VSPackage is: <Component Id="Comp_ConsoleWindow" DiskId="1" Guid="$(var.Comp_ConsoleWindow_Guid)"> <File Id="File_IronPythonConsoleWindow.dll" Name="IPCONWND.DLL" LongName="IronPythonConsoleWindow.dll" Source="$(var.IntegrationBinPath)\" /> <?include IronPythonConsoleWindow.wxi ?> </Component> For more information, see Component Management and VSPackage Registration. |
| IronPythonBinaries.wxs | WiX fragment that installs the IronPython assemblies that the integration VSPackages depend on. |
| Product.wxs | WiX product definition that contains the sample's system requirements, directory layout, and a custom action to notify Visual Studio of the installation or removal of new VSPackages. For more information, see the following topics: |
| Variables.wxi | Constants used in Integration.wxs and Product.wxs to hold Windows Installer component GUIDs and directory information. |
| IronPython.LanguageService.wxi IronPythonConsoleWindow.wxi PythonProject.wxi | Corrected versions of the include files that buildRegistration.bat generates. You can use these for comparison when adjusting the versions generated when you run the batch file. |
| License.rtf | License text displayed in the installer user interface (UI). In your installer, use your own license text. |
| Bitmaps directory | Simple bitmaps that are required when you use the WixUI dialog library. |
Security Note