Wednesday, 23 January 2013
To resolve this, simply remove the entries relating to your application from the following registry key.
This should then allow the service to install / uninstall naturally.
Additionally, you need to check all of the components of the InstallShield install to make sure they are not set as 'Shared' This stops them from being uninstalled.
Monday, 21 January 2013
If you want to create an Install Shield project for an existing .net service installation project it can be achieved using the existing Installer class from the .net project.
After adding the files to the Is project, in components view click on the exe/dll that contains the .net installer class.
In the properties window in the .net Settings section there is a property called '.net Installer Class'. If you set this property to true, install shield will execute the actions that the existing Microsoft installer would have used.
Friday, 18 January 2013
Forget the designer and how it tries to make you work, you need to think in terms of XPath queries to get to the element you're looking for. The tree view represents the XPath expression to find existing items, not a typical treeview of an XML file. Here are the steps I used to successfully manage my config file changes.
1. Create a component for your existing development XML file and include the XML file in it. Set all of the attributes for the file properly (key file, target location, etc.)
2. Switch to XML view and use the import wizard. Only import the keys you want to change
3. Once the wizard is done, select the file itself and set the XML File Destination to match the XML file you're modifying.
4. Change the search patterns for the keys you want to modify. For some reason, the IDE shows this as the Element Name - this is actually the XPath query to find the element. In my case, I have one key in my config for the database. The "Element Name" in XML changes view is 'add[@key="Database"]'. In other words, remove the 'value' part.
5. Delete anything in the attributes section that you aren't trying to change (in my case, the 'value' attribute is the only one I left)
6. Set the Value of your attribute as necessary (I use [SQLDATABASE] - my own database Property) and set the operation to Append Value.
7. Switch to advanced view and make sure that only "Update first matching element only" is checked (unless you want to replace multiple, identical elements - but then you have other fish to fry)
8. I don't know if this is strickly necessary but I'm a bit nutty when it comes to how clean my installs must be - I use the Direct Editor a lot trying to clean up the garbage that the wizards leave lying around. Go to Direct Editor and choose the ISXmlFile table, change the Component of your file to the Component that houses the XML file from step
9. Now go back to component view and delete the extra, blank component that the XML changes wizard created.
Found at: http://community.flexerasoftware.com/showthread.php?143739-XML-File-Changes-Anyone-have-this-working
Thursday, 17 January 2013
Installation is Rolled-back while creating the VirtualDirectory?
Further exploration revealed that the Installation rollback happens while creating a mapping between the IIS Application and Physical path. There can be two reasons that the installation gets rolled-back while creating a mapping between IIS Application and Physical path.
1. If the web.config is in read only the installation will roll back as it can’t edit the file. But I am not attempting to explictly edit the web.config file while creating the virtual directory.
2. If you are trying to map the website to an empty folder then also it will rollback. A valid point:).. why do you want to create a website without any file?
So please make sure that the web.config file's read-only attribute is removed before bundling the file with the installer.
Note: The contents in this article is verified in InstallShield 2012 SP1 Premier Editions with Basic MSI Project.
Solution found and taken from http://installjournal.blogspot.co.uk/2012/11/installation-is-rolled-back-while.html