Click or drag to resize

Roundtripping The Setup Project

Setup Roundtripping Basics

As a driver project is modified, Nimbus performs code roundtripping on the setup project files to keep them in sync with the driver itself. This roundtripping is done in real time so that the setup project can be built at any time with the assurance that it contains the latest updates. Manual modifications of the setup project files is typically only needed when custom features are required.

A variety of actions performed on the driver using the various editors can trigger Nimbus updates to the setup project files. The table below lists some (but not all) of the automatic code roundtripping that Nimbus performs on an IVI-COM setup project. IVI.NET setup projects and IVI-C setup projects perform similar roundtripping operations, though, obviously the exact details vary with driver type.

IVI-COM Driver Project Change

Setup Roundtripping Performed

Child interface added

The new interface and its GUID must be added to the registry on the target machine.

Enum added

The new enum and its GUID must be added to the registry on the target machine.

Repeated capability added

A new COM coclass must be registered on the target machine along with all of all of the interfaces it supports.

New compatible versions added

.NET policy files for each compatible version must be installed on the target machine.

IVI-C wrapper enabled

All of the IVI-C related files (.fp, .sub, .lib, .h) must be installed on the target machine.

64-bit support enabled

A new set of files is generated to produce a 64-bit installer. The 32-bit installer is modified so that it only works on 32-bit machines.

IVI-C prefix changed

All of the entries for the IVI-C related files (.fp, .sub, .lib, .h) are renamed.

Avoiding Setup Roundtripping Failures

Failures can occur during roundtripping if the setup project files are not in a state that is expected by Nimbus. Care must be taken if manual modifications are performed on setup project files. Here are some tips to avoid roundtripping failures.

  • Always ensure the WiX files are in well-formed XML. Nimbus loads the file content in an XML document. If it fails to load as XML, roundtripping will fail.

  • Do not rename the WiX files. Nimbus relies upon on the files being named as they are in the originally generated setup project.

  • Do not rename the existing component IDs, directory IDs or file IDs in the WiX files. Nimbus locates the elements that must be modified based on these IDs.

Download a complete CHM version of this documentation here.