BTSInstaller Problem

#13890

There is a build order for projects contained within a solution – however it is not necessary to specify deploy order in the Installer since you are working with compiled objects. You will need to bind/start orchestrations in a particular order or if you were deploying them directly from the project – you would need to do this in a particular order, but with the installer it is not needed.

It sounds like you need one installer project – not several if the projects are interdependent. The rule of thumb should be – if they make one complete application – then they should be in one installer project.

First, copy the WHOLE BTSInstaller folder from the SDK folder into your main controlling project. Then add the BTSInstaller project as an existing item to that solution. Change all the properties as you like. Then you will need to Exclude a bunch of files that are not needed. Highlight all of the files listed in the application folder of the installer project EXCEPT BTSIAssemblyOrder.dll, BTSICustomAction.dll, btstd.xml, BindingSchema.xml.

Then you need to add each of the compiled project’s dlls into the application folder of the installer project – starting with the main controlling project dll. This should then automatically bring in the other referenced dlls automatically – but if it doesn’t – all them manually. If any of the projects are VB or C# code – then those should probably be added to a special folder – the Global Assebly Cache folder. The folder can be added to the installer project by right clicking the \”File System or Target Machine\” level in the installer and adding the \”special\” folder. Drag or add those assemblies into the GAC folder.

Build the the BTSInstaller project – then run it either through the provided Setup.exe or you can run it via command line with the option deploy = true – example: \”e:\\temp\\BTSInstaller.msi\” deploy=true

Hope this helps!