We have a product called InstallSharp. It is a general purpose Windows MSI installer. We would like to integrate it into Visual Studio. What we are trying to do, in a nutshell, is integrate our product into the Visual Studio IDE the same way the Visual Studio Installer is integrated into the IDE. However, we aren't looking for a total integration of our IDE and the Visual Studio IDE, due to time and budget constraints. Specifically, we don't want to provide a setup editor for InstallSharp projects that would work inside the Visual Studio IDE - our external IDE works great for that. What we do want though is a Visual Studio add-in, ideally compatible with versions 2002-2005 (2003 and 2005 are required), that displays right-click context menus in the solution explorer, automatically detects the outputs of projects that are part of a solution, takes them, and builds a "default" InstallSharp project and setup from them (this is very easily done calling our automation interfaces, and we'd be more than happy to assume this part of the work, provided you can get us the inputs we'd need at this point). And also a custom page in the project properties window, which would allow some kind of basic customizability for the setups that are to be generated. Of course, the add-in should work well with other potential add-ins. For instance, assume the user is using an obfuscator, our add-in should be smart enough to realize that it needs to obtain the obfuscated outputs, and not the raw binary outputs. Similarly, if a further add-in requires our outputs, our add-in should make those outputs available.
Clarifications: 1) We are not interested in having our installer's files (InstallSharp project source code files) show in the Visual Studio solutions pane. In fact we explicitly do not want this. We are not after integrating our IDE itself with the Visual Studio IDE. What we are after is simply offering a right click menu item, such as "Build Install", on the solutions pane, that will build an install for the currently loaded solution by investigating what the outputs of the solution nodes are, and then creating and InstallSharp setup for them, and then building that InstallSharp setup. 2) We want you to build only the parts of the framework that interface with the Visual Studio IDE. We will then take that code, and add in the part that actually invokes InstallSharp ourselves, so there is a lot less for you to do, and you do not need to learn how to invoke the IA automation interface. All your add-in needs to do is "sniff" solution information, and let us use that information in your add-in code so we can invoke InstallSharp. 3) The property sheet contents for the add-in can be defined during project discussion, but the understanding is that they will be relatively simple, storing such generic settings as the setup theme to use, the compression strength, and so on. For advanced changes, we will want developers to run the external InstallSharp IDE and customize their setup there. Requirements: 1) A VS studio addin (compatible with versions 2002 up to the present 2005). 2) From the addin, we are not invoking the InstallSharp IDE, but we will invoke the InstallSharp automation interface, and you will not have to implement any of that. But we should be able to inject our own code that calls the InstallSharp automation DLLs from your Visal Studio IDE add-on. 3) The points of activation for the add-in will be the Visual Studio solution explorer and/or the appropriate menu bar menus. 4) Example controls for addin property pages in Visual Studio include a couple of text, radio/checkbox, and drop-down fields, and we will implement the part that actually makes the changes to the InstallSharp project. 5) The add-in should support all Visual Studio project types, such as VB, VC, C#, Help, IIS, etc. It is the duty of the add-in to determine what those outputs are, and get that information back to us through the add-in. 6) The add-in traverses the loaded solution, ensuring all existing VS projects have their outputs included in the install. After that the user can manually control it. After that if the solution changes the add-in can be invoked to re-traverse, or changes can be made externally. 7) The add-in will simply create an external InstallSharp project using InstallSharp automation and build it (we will handle this part). The setup project remains external. And we will code the part that creates the external project and builds it. We just need you to grab the inputs to this setup project (which are the outputs of the Visual Studio project). We must have per project kind output smarts to know what each Visual Studio project in the solution creates, and where it puts it. Deliverables: 1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
Windows 2000, XP, 2003, Vista Visual Studio 2002, 2003, 2005