Thursday, December 20, 2007

Creating and running Custom code for installation

InstallAnywhere provides support to run Custom Java code during installation of product. Although IA has added many custom features which saves lot of your development time but some times it becomes a necessity to write a custom code.
 
The Java code can be written in any development environment, the class has to extend from CustomCodeAction of InstallAnywhere. The use then has to override the install and un-install methods of the base class. Please find the snippet of the sample code below.
 
public class code extends CustomCodeAction
{
 public void install(InstallerProxy proxy) throws InstallException
 {
 }
 public void uninstall(UninstallerProxy Uproxy) throws InstallException
 {
 }
}
 
Its very simple to write custom for IA.
 
Once the Java file is compiled using the IAClasses.zip in the class path, create a .jar or .zip file for the class file.
 
Now go to the advance designer right click on Run Custom Code in the Install section. This will allow you to add a custom action to you installation project. In the properties of the run custom code action browse the .zip file and for the class name provide the fully qualified class file name like com.company.product.ClassFileName
 
Make sure that you are bundling the same VM pack with the installer that you have used to compile your Java code, other wise you might get errors during installation like could not find class com.company.product.ClassFileName
 
Happy developing your custom actions, if you have any questions on custom code feel free to put comments on the post or write to mailto:jha.yogi@gmail.com
 

Tuesday, December 18, 2007

InstallAnywhere collaboration for Eclipse

InstallAnywhere 2008 Enterprise and standard edition provides support for collaboration with Eclipse IDE for creating developer installation manifests(DIM). DIM's play a key role while authoring huge installation projects. It allows a team of developers to work separately and independently. InstallAnywhere provides a plugin for Eclipse which can be added during InstallAnywehere's installation or it can be copied from directly to the plugins folder of Eclipse.
 
To start using InstallAnywhere collaboration project in Eclipse follow the steps mentioned below. 
1. Click New project in Eclipse IDE and select IsntallaAnywhere collaboration project from the options.
2. This launches a new project creation wizard,  enter the name of the project and click next.
3. The wizard then asks for DIM details, see the snapshot and fill the relevant details.
4. Now you are ready to author the DIM, double click on the DIM  it will open it in the work space.
5. You will find various properties like General, Content, Variables and Dependencies tab at the bottom of the DIM descriptor inside workspace.
6. Click over the contents tab which will show contents of the DIM like File System, Environment Variable, Windows Registry and Database Servers. Right click on individual subsets to populate them individually with file sets, environment variables, registry entry etc.
 
I will be writing much more about DIM for InstallAnywhere collaboration with Eclipse, so stay tuned and keep visiting.
 
 

Migrating ISMP 11.5 project to InstallAnywhere 8

Sicne the time ISMP has been called off from market and started promoting IA. It has been a cumpulsion for the enterprises to migrate their installation project from ISMP to IA 8. Since IA has roots from ZeroG and ISMP has roots from InstallShield basic architecture and logic for installer deployment is diffrent. Although Macrovison supports project migration but all the operations are not possible.
 
I will be describing all the ways the project can be migrated but before that, I will specify all the unsupported elements that can be migrated
 
1. All the custom code written for ISMP project cannnot be migrated as the basic classes are differert. viz ISMP uses Custom Beans (Wizard and Product) for running installation while IA uses installation proxies and uninstallation proxies. Refere the Java Doc for developing custom code
2. All the shorcuts and lnk cannnot be migrated successfully (although can be used for partial reference) ISMP uses reference file paths for lnk and file components whereas IA uses actual isntall path for already installed file or new file. 
3. Custom panels developed with ISMP cannot be migrated to IA.
 
Steps to migrate ISMP project to IA
 
 Downlod the plugin for IA migration for ISMP which is available at support site of Macrovison. use this link to download plugin and doccumentation from Macrovison  http://support.installshield.com/kb/files/Q112375/install.htm
 
 
Follow all the steps listed in the doccument to end up into a successful partial migration from ISMP to InstallAnywhere.
 
Need addtional help in migrating your old installation project to InstallAnyhwere ? keep posting comments to the article and continue reading. A lot is due to come... 
 
 

Installation Design

Creating installers are cumbersome job if proper design is not properly laid out. Installers should be designed in such a way that they consume minimum of resources and time for the isntallation engineer to develop and deploy. The concept of re-usability is very important for installers development.

If the product can be sub-divided into components based on features or any other logical subgrouping based on their reusability, it becomes very easy for the end user and the instller developer.
InstallAnywhere provides various kinds of features to sub-group the architecture that can be shared across products and projects. Some of the common features are listed below

1. Developer Installation Manifests (a.k.a. DIM)
2. Merge modules (Sub-project that can be directly imported inside main project.)
3. Installer components,(gives the user what to install and what not)
4. Concept of suite installers

All the above listed if utilized properly results into a high quality installer, which is time and resource efficeient.

We can put a lot in Installer design discussion, I will be posting many more articles on this so stay tunned and keep visiting.

Building InstallAnywhere project from command line

Many of the enterprises have an automated build system, where builds happen without any manual intervention. Hence it becomes a requirement that all the components and isntallers are build from command line with the help of ANT or any DOS or shell scripts.
Building a InstallAnywhere project is very easy through command line. See the example below to build the project from command line.

Go to $IA_HOME directory through command line using CD command.
Now execute the following command
$>build.exe $IA_PROJECT_HOME\proj_nam.iap.xml

This command will build the project and the build output will be saved at $IA_PROJECT_HOME\BuildOutput folder. If you have checked the option to create web-installer, you will find install.htm file inside the buildoutput folder. Double click the html to start the installation process.

Feel free to put in your comments and feedback !

Monday, December 17, 2007

Creating Multiplatform Installers

Since the time when platform independent programming languages such as perl and Java came in the market, it has been a common trend in the market to build multiplatform products and solutions and hence the need for creating multiplatform installers. Macrovisions latest product InstallAnywhere 2008 Standard edition and enterprise editions have suport for creating multiplatform installers.

This means the installation engineer has just to create package and installation logic on any one platform and he can build it for variuous platfoms in one go. Operating systems such as SUN Solaris, IBM AIX, HP UX and Microsoft windows have their specific JRE which comes bundelled with the installers so that it not an issue while running the installers.

I will come up with more articles on how to create Multiplatform installers using InstallAnywhere, so stay tunned.

Friday, December 14, 2007

InstallAnywhere a neccesity after IntallShield called off from market

Building multiplatform installers and thinking which product to use.
It has been a common problem form for installation engineers which tool to use when macrovisoin called off all its multiplatform intallers under the brand name of InstallShield.
Macrovision after the aqusition of ZeroG software has been involved in promoting and marketting InstallAnywhere for isntaller development. The latest version of multiplatform product form Macrovision is InstallAnywhere 2008 which supports all operating systems and around 32 locales. The specially designed IDE has options for building installers which can only run on specific kind of hardware architecture such as 32-bin and 64-bit proccessors. There are many more features and twists for developing installers on InstallAnywhere, I will be sharing my experiences with building installers with it. So stay tunned there would be a lots of things comming over this blog about InstallAnywhere.