<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7137121975677135390</id><updated>2012-02-16T04:46:10.758-08:00</updated><category term='Global Registry'/><category term='Introduction'/><category term='InstallAnywhere 2010'/><category term='command line build'/><category term='Installation design.'/><category term='DIM'/><title type='text'>InstallAnywhere for next generation installers</title><subtitle type='html'>Want to create Multi Platform installers, troubleshoot installers, and want to develop custom code.....</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://installanywhere.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://installanywhere.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Avinash Anand</name><uri>http://www.blogger.com/profile/00577022933325975973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>26</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7137121975677135390.post-969052487491918958</id><published>2010-02-18T10:23:00.000-08:00</published><updated>2010-02-18T10:52:02.803-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='InstallAnywhere 2010'/><title type='text'>InstallAnywhere 2010</title><content type='html'>Flexera software formally know as Acresso software the owners or popular InstallShield and InstallAnywhere brands have come up with the much awaited release of InstallAnywhere 2010. The developers of the InstallAnywhere lobby always wanted the rich features of windows installer (repair and rollback) along with the existing multiplatform features.&lt;br /&gt;&lt;br /&gt;I recall the days when I use to call then Acresso/Macrovision  support for implementing a workaround for achieving rollback in our multiplatform installers. Since I was a migrated user from InstallShield 5.5 multiplatform, I was used to the rollback feature and suddenly when we migrated our projects to InstallAnywhere 8 it proved to be a fatel decision as many features in InstallShield multiplatform were discontinued.&lt;br /&gt;&lt;br /&gt;It is quite important for a installer developer to have control over the installation as the boundary conditions can become devastating in nature if the software being updated is time critical in nature, the associated downtime of a server responsible for computing million $$ worth of money is beyond imagination.&lt;br /&gt;&lt;br /&gt;The mere email from Flexera about the launch of InstallAnywhere 2010 with the bold foot steps in the world of  rollback and feature level repairs made me excited, I am looking forward for more feature rich release with lots of support towards virtualization in their coming release.&lt;br /&gt;&lt;br /&gt;I am yet to evaluate the new version with tall claims, I will come up with an article very soon that will have the entire compilation results of InstallAnywhere 2010.&lt;br /&gt;&lt;br /&gt;If you are also interested in reading about the new supported features and resolved bug list in InstallAnywhere 2010 please go through these links&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flexerasoftware.com/company/newscenter/pressreleases/press-releases_10830.htm"&gt;Features in new release of InstallAnywhere 2010&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mktg.flexerasoftware.com/mk/submit/eval_submit?pcode=installanywhere&amp;amp;ed=0&amp;amp;_JS=T"&gt;Free trial of InstallAnywhere 2010&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mktg.flexerasoftware.com/mk/get/whatsnew-IA2010"&gt;Webinar on March 3rd on Whats new in IA 2010&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7137121975677135390-969052487491918958?l=installanywhere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://installanywhere.blogspot.com/feeds/969052487491918958/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7137121975677135390&amp;postID=969052487491918958' title='34 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/969052487491918958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/969052487491918958'/><link rel='alternate' type='text/html' href='http://installanywhere.blogspot.com/2010/02/installanywhere-2010.html' title='InstallAnywhere 2010'/><author><name>Avinash Anand</name><uri>http://www.blogger.com/profile/00577022933325975973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>34</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137121975677135390.post-1658990639488759311</id><published>2009-06-29T07:55:00.001-07:00</published><updated>2009-06-29T07:55:15.189-07:00</updated><title type='text'>Adding external jar to your CustomCodeAction</title><content type='html'>&lt;div&gt;&lt;b&gt;[Question]&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;In GUI mode, the installer launches and installs, and after the installation executes a PostInstall Action which runs a Script/Batch file. In this Script file we call another Java class which is interactive. (means it gets input and outputs messages on the same window or a separate window). The dependencies are added in the batch/script file using export Library Path&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Now I want to emulate this in Console Mode. I want to call this class from Console Mode Custom Code execution action so that the input and output are done on the Console mode Installer. The class which is called in turn depends on a lot of 3rd party jars. As soon as I add dependencies for the 3rd party signed jars it always gives exception &amp;quot;no manifest section for signature file entry&amp;quot; .&lt;/div&gt; &lt;div&gt;Since the jars are 3rd party, I can&amp;#39;t go back and modify the jar contents. Is there anyway to overcome this problem ?&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;[ANSWER]&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;If you are calling your java class from a script/batch file add the dependency of your 3rd party jar files in the script itself instead of adding dependency in the IA project. Since the java class file is called from a script which spawns a different process and into a new shell the dependencies added to the main project does not get resolved while loading the class file into the JRE when spawned through script/batch.&lt;/div&gt; &lt;div&gt;InstallAnywhere&amp;#39;s feature of adding files into class path or adding dependencies only works correctly in case of custom code action.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;To load the 3rd party jars when using with shell use the following java arguments in the shell script to execute it.&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;java -cp abc.jar;xerces.jar;ant.jar com.yourcompany.packagename.ClassName&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Here -cp added to the Java command tells the JRE to load abc.jar, xerces.jar and ant.jar to be added in the class path for executing the com.yourcompany.packagename.ClassName class file.&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7137121975677135390-1658990639488759311?l=installanywhere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://installanywhere.blogspot.com/feeds/1658990639488759311/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7137121975677135390&amp;postID=1658990639488759311' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/1658990639488759311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/1658990639488759311'/><link rel='alternate' type='text/html' href='http://installanywhere.blogspot.com/2009/06/adding-external-jar-to-your.html' title='Adding external jar to your CustomCodeAction'/><author><name>Avinash Anand</name><uri>http://www.blogger.com/profile/00577022933325975973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137121975677135390.post-1411916275926100101</id><published>2009-06-29T07:43:00.000-07:00</published><updated>2009-06-29T07:44:00.717-07:00</updated><title type='text'>Installing JBoss server and application using IA</title><content type='html'>&lt;div&gt;&lt;b&gt;[Question]&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;/b&gt;How can I modify the port number in JBoss server using InstallAnywhere. I install JBoss-3.2.7.zip with IA, I get a user input for the Port Number and I know that the port number has to be set in the file server.xml inside the JBoss-3.2.7.zip. Should I use the action &amp;#39;Modify Text File in Archive&amp;#39; action to replace the port? I can use the variable  $PORT_NUMBER$ to replace the existing port number. But don&amp;#39;t know how to use it in the action to search for the line&lt;/div&gt; &lt;div&gt; &lt;/div&gt;&lt;div&gt;Connector port=&amp;quot;8080&amp;quot; address=&amp;quot;${jboss.bind.address}&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;[ANSWER]&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;If you are installing JBoss using InstallAnywhere  add action in your project modify files in Archive. In your case its a bundled archive so select installed archive then click configure, &lt;/div&gt; &lt;div&gt;In the configure frame update  search for  &amp;quot;${jboss.bind.address}&amp;quot; and fill the replace with &amp;quot;&amp;lt;your desired port number&amp;gt;&amp;quot;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Once this activity is done add the extract archive action to actually install your JBoss server zip.&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;An alternative approach to this problem would be to deflate the archive and then add an action to modify ASCII file with the above data.&lt;/div&gt;&lt;div&gt;       If you want to deploy your application using InstallAynwhere go to the Organization -&amp;gt; Hosts tab of Advanced designer click on add host. Choose application server from the choice (there will be two hosts listed over there DataBase Host and Application Server host)&lt;/div&gt; &lt;div&gt;Once Application server host is added to the project in Host section, fill up the necessary details like in your case choose JBoss 4.0.5 or newer and then select &amp;quot;Server Path&amp;quot;.&lt;/div&gt;&lt;div&gt;Once done go to the Install Section of the Advanced designer and add an Action to deploy war file.&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7137121975677135390-1411916275926100101?l=installanywhere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://installanywhere.blogspot.com/feeds/1411916275926100101/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7137121975677135390&amp;postID=1411916275926100101' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/1411916275926100101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/1411916275926100101'/><link rel='alternate' type='text/html' href='http://installanywhere.blogspot.com/2009/06/installing-jboss-server-and-application.html' title='Installing JBoss server and application using IA'/><author><name>Avinash Anand</name><uri>http://www.blogger.com/profile/00577022933325975973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137121975677135390.post-5875300229038106158</id><published>2009-04-27T09:49:00.001-07:00</published><updated>2009-04-27T09:49:21.322-07:00</updated><title type='text'>HTML Display in InstallAnywhere swing Panel.</title><content type='html'>&lt;div&gt;As a Install Anywhere user you might have been asked to display HTML files in IA Swing panels quite a lot of time, as a installer developer its quite tedious for the engineer to code and format html files. &lt;/div&gt; &lt;div&gt;Recently I had a change to do the same thing here I followed a trick, created a nice word document with all the formatting (text, paragraph and alignment) then saved the file in filtered html format. The result was a nice looking html page with all the formatting present when viewed in IE.&lt;/div&gt;  &lt;div&gt; &lt;/div&gt; &lt;div&gt;Without worrying any thing I added the file into HTML display panel and few of the surprises came in front of me&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;1. The preview panel button showed my HTML document inside the SWING but all the formatting was lost.&lt;/div&gt; &lt;div&gt;2. When the project was build the HTML display panel showed the HTML inside the frame with lots of white spaces, although the formatting was there but some of the special characters were visible in it.&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;The above experience left me scratching my head as what might have gone wrong, if I am opening the same .htm in IE or other browser things look quite good then why do I see weired results in case of Installer panel???&lt;/div&gt;  &lt;div&gt; &lt;/div&gt; &lt;div&gt;After close inspection and ofcource some hit and tries answered me,  and here&amp;#39;s what I found &lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;1. If your html document uses tags like col span, table to format the content and wrap it after say 55 characters from left&lt;/div&gt; &lt;div&gt;2. If you use &amp;lt;p&amp;gt; paragraph in your html file to format the look and feel of your html document&lt;/div&gt; &lt;div&gt;3. If you use xhtml where a schema is present to validate the DOM elements in your html&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;You might get experience the same kind of UI issue, to resolve the issue use all the tags for do not intend to use col span, table, paragraph that restrict the rendering of html file from left to right. &lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;The root course&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;Install Anywhere uses text wrap to format the rend erring of html in its swing panel, so when a pre formatted document is encountered by IA it tries to reformat it thereby resulting into lot of white space and sometimes a left to right scroll bar also appears thereby taking away the nice look of your html and also poses difficulty to the user to read the mesage.&lt;/div&gt;  &lt;div&gt; &lt;/div&gt; &lt;div&gt;Use the above mentioned ways to get rid of cosmetic but yet irritating bugs like this... &lt;br&gt;&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7137121975677135390-5875300229038106158?l=installanywhere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://installanywhere.blogspot.com/feeds/5875300229038106158/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7137121975677135390&amp;postID=5875300229038106158' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/5875300229038106158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/5875300229038106158'/><link rel='alternate' type='text/html' href='http://installanywhere.blogspot.com/2009/04/html-display-in-installanywhere-swing.html' title='HTML Display in InstallAnywhere swing Panel.'/><author><name>Avinash Anand</name><uri>http://www.blogger.com/profile/00577022933325975973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137121975677135390.post-5814202918552035355</id><published>2009-04-27T09:22:00.001-07:00</published><updated>2009-04-27T09:22:35.858-07:00</updated><title type='text'>Some more InDepth to segmentation fault on UNICES..</title><content type='html'>&lt;div&gt;&lt;strong&gt;&lt;/strong&gt; &lt;/div&gt; &lt;div&gt;A segmentation fault occurs when a program attempts to access a memory location that it is not allowed to access, or attempts to access a memory location in a way that is not allowed (for example, attempting to write to a read-only location, or to overwrite part of the operating system).&lt;/div&gt;  &lt;div&gt; &lt;/div&gt; &lt;div&gt;Usually signal #11 (SIGSEGV) set, which is defined in the header file signal.h file. The default action for a program upon receiving SIGSEGV is abnormal termination. This action will end the process, but may generate a core file (also known as core dump) to aid debugging, or perform some other platform-dependent action. A core dump is the recorded state of the working memory of a computer program at a specific time, generally when the program has terminated abnormally.&lt;/div&gt;  &lt;div&gt; &lt;/div&gt; &lt;div&gt;Segmentation fault can also occur under following circumstances:&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;a) A buggy program / command, which can be only fixed by applying patch.&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;b) It can also appear when you try to access an array beyond the end of an array under C programming.&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;c) Inside a chrooted jail this can occur when critical shared libs, config file or /dev/ entry missing.&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;d) Sometime hardware or faulty memory or driver can also create problem.&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;e) Maintain suggested environment for all computer equipment (overheating can also generate this problem).&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;Suggestions to debug Segmentation Fault errors&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;To debug this kind of error try one or all of the following techniques :&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;ul&gt; &lt;li&gt;Use gdb to track exact source of problem.&lt;/li&gt; &lt;li&gt;Make sure correct hardware installed and configured.&lt;/li&gt; &lt;li&gt;Always apply all patches and use updated system.&lt;/li&gt; &lt;li&gt;Make sure all dependencies installed inside jail.&lt;/li&gt; &lt;li&gt;Turn on core dumping for supported services such as Apache.&lt;/li&gt; &lt;li&gt;Use strace which is a useful diagnostic, instructional, and debugging tool.&lt;/li&gt; &lt;li&gt;Google and find out if there is a solution to problem.&lt;/li&gt; &lt;li&gt;Fix your C program for logical errors such as pointer, null pointer, arrays and so on.&lt;/li&gt; &lt;li&gt;Analyze core dump file generated by your system using gdb&lt;/li&gt;&lt;/ul&gt; &lt;div&gt;&lt;br&gt; &lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7137121975677135390-5814202918552035355?l=installanywhere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://installanywhere.blogspot.com/feeds/5814202918552035355/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7137121975677135390&amp;postID=5814202918552035355' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/5814202918552035355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/5814202918552035355'/><link rel='alternate' type='text/html' href='http://installanywhere.blogspot.com/2009/04/some-more-indepth-to-segmentation-fault.html' title='Some more InDepth to segmentation fault on UNICES..'/><author><name>Avinash Anand</name><uri>http://www.blogger.com/profile/00577022933325975973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137121975677135390.post-4795107015238755499</id><published>2009-04-27T05:47:00.001-07:00</published><updated>2009-04-27T05:47:31.972-07:00</updated><title type='text'>Re: Segmentation Fault</title><content type='html'>&lt;div&gt;Segmentation fault on a UNIX machine occurs when there are paging or swap violation. Installers some times use OS services which try to buffer quite a lot of things sometimes thereby causing a buffer overflow resulting into the segmentation fault. This issue can reproduced when handling a lot of date parallel over the machine having limited amount of resources. &lt;/div&gt;  &lt;div&gt; &lt;/div&gt; &lt;div&gt;Segmentation fault is something more related to OS and can be analyzed with the help of core dumps generated. &lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;Relating the issue with the installer, the issue can only be debugged with the help core dumps which would probably answer questions like which Op Code tried to violate the OS boundaries and create race conditions.&lt;br&gt; &lt;br&gt;&lt;/div&gt; &lt;div class="gmail_quote"&gt;On Fri, Apr 24, 2009 at 7:45 PM, tony prabhu &lt;span dir="ltr"&gt;&amp;lt;&lt;a href="mailto:ruban142003@yahoo.com"&gt;ruban142003@yahoo.com&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt; &lt;blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid"&gt; &lt;table cellspacing="0" cellpadding="0" border="0"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top"&gt; &lt;div&gt;Hi,&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;Generally why does segmentation fault appears in Linux machine when an installer with a huge payload is run. But this does not happen while running a simple project in the same machine with all the java compatibility. I believe this fault will appear when the rules of the Linux machine are violated for exampe: trying to access a resource in the machine which is not available. So, does the large installer tries the scenario like what i have mentioned above? Please explain to me.&lt;/div&gt;  &lt;div&gt; &lt;/div&gt; &lt;div&gt;Thanks for your time.&lt;/div&gt; &lt;div&gt;Tony&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;font color="#888888"&gt;&lt;br&gt;&lt;/font&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br clear="all"&gt; &lt;div&gt;&lt;/div&gt;&lt;br&gt;-- &lt;br&gt;FreshersDirect Team&lt;br&gt;&lt;a href="http://www.freshersdirect.com"&gt;http://www.freshersdirect.com&lt;/a&gt;&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7137121975677135390-4795107015238755499?l=installanywhere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://installanywhere.blogspot.com/feeds/4795107015238755499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7137121975677135390&amp;postID=4795107015238755499' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/4795107015238755499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/4795107015238755499'/><link rel='alternate' type='text/html' href='http://installanywhere.blogspot.com/2009/04/re-segmentation-fault.html' title='Re: Segmentation Fault'/><author><name>Avinash Anand</name><uri>http://www.blogger.com/profile/00577022933325975973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137121975677135390.post-6199398634278078366</id><published>2009-04-18T01:58:00.001-07:00</published><updated>2009-04-18T01:58:08.697-07:00</updated><title type='text'>Re: InstallAnywhere details</title><content type='html'>You are absolutely correct, Execute Script returns the exit code for the action not of the underlying batch/script file. My experience with says that IA execute script does not work correctly in case of DOS batch files.&lt;br&gt; The reason being, execute run script uses Java Process.getRuntime.exec() thread to run the batch or command passed. Here Process.waitfor() method is used, if the underlying script uses @echo ON inside the script the behavior is very abrupt. Only the first script&amp;#39;s 1 to 6th or 7th steps are run after that the script keeps on waiting thereby making the installation hang.&lt;br&gt; &lt;br&gt;I would suggest to use your own plugin for executing command or batch specifically when the command or script calls another shell to execute the sequence of steps.&lt;br&gt;&lt;br&gt;In the plugin spawn a thead and dont wait for the thread to complete. here the disadvantage is you will not get the complete the stderr, stdout till the theread completes but its a nice tradeoff done where you want to set gurentee for the underlying command to complete sucessfully.&lt;br&gt; &lt;br&gt;I have developed a plugin which you can use if you want.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class="gmail_quote"&gt;On Thu, Apr 16, 2009 at 6:46 PM, tony prabhu &lt;span dir="ltr"&gt;&amp;lt;&lt;a href="mailto:ruban142003@yahoo.com"&gt;ruban142003@yahoo.com&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt; &lt;blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit;" valign="top"&gt; &lt;div&gt;Hi,&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;I am a beginner with IA and I want to know about the Execute Script/Batch action and how it works. I believe the exit code in this action is only for the action and not for the script or the commands it executes. So, how can i get an exit code for the executed script? Please explain to me in a detailed manner.&lt;/div&gt;  &lt;div&gt; &lt;/div&gt; &lt;div&gt;Thanks&lt;/div&gt; &lt;div&gt;Tony&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;font color="#888888"&gt;&lt;br&gt;          &lt;/font&gt;&lt;/blockquote&gt;&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7137121975677135390-6199398634278078366?l=installanywhere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://installanywhere.blogspot.com/feeds/6199398634278078366/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7137121975677135390&amp;postID=6199398634278078366' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/6199398634278078366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/6199398634278078366'/><link rel='alternate' type='text/html' href='http://installanywhere.blogspot.com/2009/04/re-installanywhere-details.html' title='Re: InstallAnywhere details'/><author><name>Avinash Anand</name><uri>http://www.blogger.com/profile/00577022933325975973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137121975677135390.post-5872186770021915123</id><published>2009-04-17T10:25:00.001-07:00</published><updated>2009-04-17T10:25:54.772-07:00</updated><title type='text'>Re: Help</title><content type='html'>You are messing up two different things, earlier you said you want the user to input the architecture of the machine, now your requirement is going on the dev side.&lt;br&gt;&lt;br&gt;Wait I will explain in detail&lt;br&gt;&lt;br&gt;If your requirement is just to find the end users machine architecture&lt;br&gt; &lt;br&gt;either run a custom java code or run a execute command utility in IA found under Add Action --&amp;gt; General Tab,&lt;br&gt;&lt;br&gt;The command to run in uname -m, it will return u i386 which is 32 bit,&lt;br&gt;&lt;br&gt;To find out more about various OS check out this link for determining the OS architecture, &lt;a href="http://www.stata.com/support/faqs/win/64bit.html"&gt;http://www.stata.com/support/faqs/win/64bit.html&lt;/a&gt;&lt;br&gt; &lt;br&gt;Regarding running this write a Java class which would determine the OS version and subsiquently the OS architecture. Store the result in a IA variable &lt;br&gt;&lt;br&gt;Code snippet&lt;br&gt;&lt;br&gt;&amp;lt;&amp;gt;&lt;br&gt;&lt;br&gt;class MyCustomCode(InstallerProxy ip) extends IACustomCode&lt;br&gt; {&lt;br&gt;   /* Run the logic to store the OS tye in a variable say MyOS */&lt;br&gt;&lt;br&gt;   ip.substitute(&amp;quot;OS_TYP&amp;quot;, MyOS) // here the value of MyOS determined earlier is stored in a IA valiable $OS_TYP$&lt;br&gt;}&lt;br&gt;&lt;br&gt;Inside the Install action under ur IDE you can add a compare installanywhere action to install any specific file or folder&lt;br&gt; &lt;br&gt;e.g $OS_TYP$ equals 64bit then install else move ahead.&lt;br&gt;&lt;br&gt;I do not have an IDE infront of me right now otherwise I would have sent you some screen shots.&lt;br&gt;&lt;br&gt;If you are still face the issue I will create a sample project for you...for this logic&lt;br&gt; &lt;br&gt;&lt;div class="gmail_quote"&gt;&lt;blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"&gt;&lt;div link="blue" vlink="purple" lang="EN-US"&gt;&lt;div&gt;****************************************************************************************************&lt;/div&gt; &lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;******************************************************************************************************** &lt;br&gt;&lt;/div&gt;&lt;blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"&gt; &lt;div link="blue" vlink="purple" lang="EN-US"&gt;&lt;div&gt;&lt;br&gt;&lt;p&gt;&lt;span style="font-size: 11pt; color: rgb(31, 73, 125);"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; color: rgb(31, 73, 125);"&gt;I am trying to download the enterprise version.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; color: rgb(31, 73, 125);"&gt;But there is still one doubt which is - the panel "get user input" is for the &lt;/span&gt;&lt;i&gt;&lt;u&gt;&lt;span style="font-size: 11pt; color: red;"&gt;end user&lt;/span&gt;&lt;/u&gt;&lt;/i&gt;&lt;span style="font-size: 11pt; color: rgb(31, 73, 125);"&gt; not for the &lt;/span&gt;&lt;i&gt;&lt;u&gt;&lt;span style="font-size: 11pt; color: red;"&gt;developer&lt;/span&gt;&lt;/u&gt;&lt;/i&gt;&lt;span style="font-size: 11pt; color: rgb(31, 73, 125);"&gt; (who is using InstallAnywhere for making installer e.g. me).&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; color: rgb(31, 73, 125);"&gt;Can u throw some light on it please???&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; color: rgb(31, 73, 125);"&gt;Actually I want InstallAnywehre to prompt me (developer) for taking the input as 32 bit or 64 bit at the time of building the project as shown below as per the requirement of the &lt;/span&gt;&lt;i&gt;&lt;u&gt;&lt;span style="font-size: 11pt; color: red;"&gt;end user.&lt;/span&gt;&lt;/u&gt;&lt;/i&gt;&lt;span style="font-size: 11pt; color: rgb(31, 73, 125);"&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; color: rgb(31, 73, 125);"&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt; &lt;/div&gt;&lt;blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"&gt; &lt;div link="blue" vlink="purple" lang="EN-US"&gt;&lt;div&gt;&lt;p&gt;&lt;span style="font-size: 11pt; color: rgb(31, 73, 125);"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p style="text-align: center;" align="center"&gt;&lt;span style="font-size: 11pt; color: rgb(31, 73, 125);"&gt;&lt;img src="cid:image002.png@01C9BF84.1BBFC230" width="899" height="622"&gt;&lt;/span&gt;&lt;span style="font-size: 11pt; color: rgb(31, 73, 125);"&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p&gt;&lt;span style="font-size: 11pt; color: rgb(31, 73, 125);"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; color: rgb(31, 73, 125);"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7137121975677135390-5872186770021915123?l=installanywhere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://installanywhere.blogspot.com/feeds/5872186770021915123/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7137121975677135390&amp;postID=5872186770021915123' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/5872186770021915123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/5872186770021915123'/><link rel='alternate' type='text/html' href='http://installanywhere.blogspot.com/2009/04/re-help.html' title='Re: Help'/><author><name>Avinash Anand</name><uri>http://www.blogger.com/profile/00577022933325975973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137121975677135390.post-8932415086134796757</id><published>2009-04-16T10:21:00.001-07:00</published><updated>2009-04-16T10:21:09.045-07:00</updated><title type='text'>An issue with 32 bit and 64 machine</title><content type='html'>&lt;div class="gmail_quote"&gt;&lt;div&gt;&lt;div class="h5"&gt;&lt;div class="gmail_quote"&gt;&lt;blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"&gt;&lt;div link="blue" vlink="purple" lang="EN-US"&gt; &lt;div&gt;&lt;b&gt;Problem :&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt; &lt;/div&gt;&lt;blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"&gt;&lt;div link="blue" vlink="purple" lang="EN-US"&gt; &lt;div&gt;Installerwhich build the application for multiple platforms (targeting Linux, AIX, HP-UX, Solaris and Windows).  &lt;p&gt;My application has  binaries for above 5 platforms each of 32bit and 64bit (so kind of 10 platforms).&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;I have a directory structure like below&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Application&lt;/p&gt;  &lt;p&gt;|&lt;/p&gt;  &lt;p&gt;|-----Linux&lt;/p&gt;  &lt;p&gt;|              |-Linux32&lt;/p&gt;  &lt;p&gt;|              |-Linux64&lt;/p&gt;  &lt;p&gt;|&lt;/p&gt;  &lt;p&gt;|-----AIX&lt;/p&gt;  &lt;p&gt;|              |-AIX32&lt;/p&gt;  &lt;p&gt;|              |-AIX64&lt;/p&gt;  &lt;p&gt;|&lt;/p&gt;  &lt;p&gt;|-----HP-UX&lt;/p&gt;  &lt;p&gt;|              |-HP-UX32&lt;/p&gt;  &lt;p&gt;|              |-HP-UX64&lt;/p&gt;  &lt;p&gt;|&lt;/p&gt;  &lt;p&gt;|-----Solaris&lt;/p&gt;  &lt;p&gt;|              |-Solaris32&lt;/p&gt;  &lt;p&gt;|              |-Solaris64&lt;/p&gt;  &lt;p&gt;|&lt;/p&gt;  &lt;p&gt;|-----Windows&lt;/p&gt;  &lt;p&gt;|              |-Windows32&lt;/p&gt;  &lt;p&gt;|              |-Windows64&lt;/p&gt;  &lt;p&gt;|&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Now what required is when I build &lt;span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;as shown below&lt;/span&gt; my application and check the Linux box it should prompt  me to take input as "Linux32" or "Linux64" (user input) so that the  Linux installer of 32bit or 64bit is built. &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p style="text-align: center;" align="center"&gt;&lt;img src="cid:image002.jpg@01C9BED4.020C1420" width="833" height="584"&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;i&gt;&lt;span style="color: blue;"&gt; &lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;i&gt;&lt;span style="color: blue;"&gt; Solution :&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;Its quite easy to do that, installanywhere  has an inbuild functionality to check the OS architecture. You can store the OS architecture in the IA variable and implement your logic once you are known to end users OS architecture.&lt;br&gt; &lt;br&gt;You will find this feature in Organization settings.&lt;br&gt;&lt;br&gt;InstallAnywhere buildoutputs are independent to platform architecture, you can build your application for any desired platform with or without VM and run it. At the run time have a user input panel or at rutime decide the architecture of the user machine and cotinue with your installation logic.&lt;br&gt; &lt;br&gt;Like this&lt;br&gt;&lt;br&gt;&lt;br&gt;Application ----&lt;br&gt;                      Folder 1 &amp;lt;Only if 32 bit&amp;gt;&lt;br&gt;                      Folder 2 &amp;lt;Only if 64 bit&amp;gt;&lt;br&gt;&lt;br&gt;In the install section you can put a rule of compare installAnywhere variable so that it gets installed only when the rule is met.&lt;br&gt;  &lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7137121975677135390-8932415086134796757?l=installanywhere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://installanywhere.blogspot.com/feeds/8932415086134796757/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7137121975677135390&amp;postID=8932415086134796757' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/8932415086134796757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/8932415086134796757'/><link rel='alternate' type='text/html' href='http://installanywhere.blogspot.com/2009/04/issue-with-32-bit-and-64-machine.html' title='An issue with 32 bit and 64 machine'/><author><name>Avinash Anand</name><uri>http://www.blogger.com/profile/00577022933325975973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137121975677135390.post-3377089664773988493</id><published>2009-02-24T05:38:00.000-08:00</published><updated>2009-02-24T05:51:22.440-08:00</updated><title type='text'>Uninstaller Errors</title><content type='html'>Recently after changing the product name of one of the Merge modules in my suite I started getting errors while uninstallation.&lt;br /&gt;&lt;br /&gt;When the uninstaller was called it threw a java exception saying target invocation exception stating &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ZeroGu5: c:\program files\OpenSource\InstallFrameWork\Uninstaller\resource\iawin32.dll not found&lt;br /&gt;&lt;br /&gt;at ZeroGa2.b(DashoA10*..)&lt;br /&gt;&lt;br /&gt;at ZeroGa2.b(DashoA10*..)&lt;br /&gt;&lt;br /&gt;at com.zerog.ia.installer.LifeCycleManager.b(DashoA10*..)&lt;br /&gt;&lt;br /&gt;at com.zerog.ia.installer.LifeCycleManager.a(DashoA10*..)&lt;br /&gt;&lt;br /&gt;at com.zerog.ia.installer.Main.main(DashoA10*..)&lt;br /&gt;&lt;br /&gt;at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)&lt;br /&gt;&lt;br /&gt;at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)&lt;br /&gt;&lt;br /&gt;at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)&lt;br /&gt;&lt;br /&gt;at java.lang.reflect.Method.invoke(Unknown Source)&lt;br /&gt;&lt;br /&gt;at com.zerog.lax.LAX.launch(DashoA10*..)&lt;br /&gt;&lt;br /&gt;at com.zerog.lax.LAX.main(DashoA10*..)&lt;br /&gt;&lt;br /&gt;Upon inspection I found that the resource folder that contains platform specific dll's under the uninstall folder. Even the global registry file that contains the file/folder installation was also found to be missing, so practically the uninstaller cannot work without this file.&lt;br /&gt;&lt;br /&gt;Scratching my head for hours I build the installer with high debug enabled (jvm parameters -Dlax.debug.level=3 -Dlax.debug.all=true) with stderr and stdout directed to a file, but could not trace out any specific problem.&lt;br /&gt;&lt;br /&gt;The installer archive contained all the resources that are required inside the uninstall folder, so there was no question that its a build issue.&lt;br /&gt;&lt;br /&gt;Then I started the the dry run of the program my normalizing the payload to zero, modifying the project information properties and found that the product name had a &lt;strong&gt;trailing space at the end&lt;/strong&gt; &lt;br /&gt;&lt;br /&gt;Once the trailing space was removed the installation and uninstallation started working properly.&lt;br /&gt;&lt;br /&gt;Although a is a kind of cosmetic defect but took hell lot of time to dig it out. Probably the Install Anywhere team forgot to check the product name property for any trailing spaces that can disrupt their XML transformation logic.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7137121975677135390-3377089664773988493?l=installanywhere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://installanywhere.blogspot.com/feeds/3377089664773988493/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7137121975677135390&amp;postID=3377089664773988493' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/3377089664773988493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/3377089664773988493'/><link rel='alternate' type='text/html' href='http://installanywhere.blogspot.com/2009/02/uninstaller-errors.html' title='Uninstaller Errors'/><author><name>Avinash Anand</name><uri>http://www.blogger.com/profile/00577022933325975973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137121975677135390.post-9182664549453968793</id><published>2009-02-02T11:49:00.000-08:00</published><updated>2009-02-02T12:06:38.162-08:00</updated><title type='text'>Avinash Anand</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_vhSYqOiOS8c/SYdO9E3qyII/AAAAAAAAAGA/fQiiq6ycu5g/s1600-h/avi.jpeg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 96px; height: 96px;" src="http://4.bp.blogspot.com/_vhSYqOiOS8c/SYdO9E3qyII/AAAAAAAAAGA/fQiiq6ycu5g/s320/avi.jpeg" alt="" id="BLOGGER_PHOTO_ID_5298290297810897026" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;An accomplished software engineer looking for a challenging opportunity with a globally respected organization that provides ample opportunities to showcase my expertise, enhance my knowledge and allows me to contribute as a positive factor in the progress of the company. Active contributor in open source world, currently working in Google appengine and Java based open source &lt;span style="font-weight: bold; font-style: italic;"&gt;cross platform installer framework. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Professional Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;* Over 42 months of Development experience in Java/J2EE (Core Java, JSP, Servlet, JDBC, XML).&lt;br /&gt;* Responsible for System Analysis, Design, Coding, and Qualitative experience in managing project modules independently.&lt;br /&gt;* Extensive exposure to: Waterfall and Agile Development approaches.&lt;br /&gt;* Development processes like Analysis, Design, Coding, Testing and Maintenance.&lt;br /&gt;* Client-Server Architecture and MVC Architecture.&lt;br /&gt;* Object Oriented Analysis and Design (OOAD).&lt;br /&gt;* Worked with protocols such as SNMP, TCP/IP, UDP, SIP, H.323.&lt;br /&gt;* Well exposed to both Client/Server and Web environment.&lt;br /&gt;* Experience in doing unit testing using JUnit. Created test plan for unit testing.&lt;br /&gt;* Used Rational Purify Plus for analyzing code coverage, code optimization and memory management.&lt;br /&gt;* Interactive team player and proactive personality.&lt;br /&gt;* Experience in installation, configuration and maintenance of Operating Systems, Web Servers, Database Systems and Mail Servers.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Product Software Components :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Operating Systems&lt;/span&gt; : Windows 2000/2003, Sun Solaris, IBM AIX&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Databases&lt;/span&gt; : SQL Server 2000, Oracle,  DB2&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Web Server&lt;/span&gt; : Microsoft Internet Information Server, Sun ONE Web Server, IBM HTTP Server, Tomcat&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Application Server&lt;/span&gt; : IBM WebSphere Application Server&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Work Profile includes : &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;* Involved in creating multi Installer for the product using ISMP 5.0 and InstallAnywhere over various platforms such as Windows AIX and Solaris.&lt;br /&gt;* Worked in installer migration from ISMP to InstallAnywhere 2009.&lt;br /&gt;* Written blog over InstallAnywhere http://installanywhere.blogspot.com&lt;br /&gt;* Involved in writing Java Beans for integration with Install Shield, custom code and plugin development for InstallAnywhere&lt;br /&gt;* Worked with Accresso support team bug reporting and getting  timely fixes.&lt;br /&gt;Integration of various modules created under the project.&lt;br /&gt;* Addressed various bugs filled against the installer.&lt;br /&gt;* Documented all the defects to be addressed against the product in concern with the current minor release&lt;br /&gt;* Created Installer framework for the current service pack release over ISMP 5.0 for all the platforms supported by the product Windows, AIX and Solaris&lt;br /&gt;* Worked on cumulative service project. Designed completely new architecture for the service pack layout. &lt;br /&gt;* Preparing/Attending the Interim/Internal Audits.&lt;br /&gt;* Project Status Reporting and other related Escalations to the Development Manager.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Skill Matrix&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Languages &lt;/span&gt;                 : Java, C, C++, Junit, Python&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Operating System &lt;/span&gt;   : Windows, Linux, AIX, Solaris.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Database/RDBMS&lt;/span&gt;     : Oracle, DB2, MS SQL Server 2000.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Application Server&lt;/span&gt;   : IBM WebSphere Application Server, Tomcat&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Web Serve&lt;/span&gt;r                 : Microsoft Internet Information Server, IBM HTTP Server&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Scripting&lt;/span&gt;                     : JavaScript, XML&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Knowledge of  &lt;/span&gt;           : VMware, LPAR and TDD&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;    &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Contact me&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;avinash.anand007(at)gmail.com&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Location : Pune, India &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7137121975677135390-9182664549453968793?l=installanywhere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://installanywhere.blogspot.com/feeds/9182664549453968793/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7137121975677135390&amp;postID=9182664549453968793' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/9182664549453968793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/9182664549453968793'/><link rel='alternate' type='text/html' href='http://installanywhere.blogspot.com/2009/02/avinash-anand.html' title='Avinash Anand'/><author><name>Avinash Anand</name><uri>http://www.blogger.com/profile/00577022933325975973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_vhSYqOiOS8c/SYdO9E3qyII/AAAAAAAAAGA/fQiiq6ycu5g/s72-c/avi.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137121975677135390.post-5455837775658619331</id><published>2009-01-29T06:51:00.000-08:00</published><updated>2009-01-29T07:04:30.468-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Global Registry'/><title type='text'>InstallAnywhere global registry</title><content type='html'>Unlike &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;InstallShield&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;InstallAnywhere&lt;/span&gt; maintains its product &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;information&lt;/span&gt; in a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;xml&lt;/span&gt; file (.com.zerog.registry.xml) as compared to the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;vpd&lt;/span&gt;.properties file created by &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_5"&gt;Install Shield&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Some times it becomes tough for the end user or project author to get rid of a corrupt installation or &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;uninstallation&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;.com.zerog.regostry.xml file contains product name, version, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;UUID&lt;/span&gt; and description apart from the components and  DIM registration information. This is typically useful if you have to identify a IA &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_8"&gt;installation&lt;/span&gt; from a different framework say &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_9"&gt;Install Shield&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;This file is stored in /var directory or user on the &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_10"&gt;UNIX&lt;/span&gt; machine if the installation is done by the root user else the file is stored in the home folder of the user.&lt;br /&gt;&lt;br /&gt;In case of windows the file gets created under windows home drive (c: or d:)&lt;br /&gt;&lt;br /&gt;A case study and its remedy&lt;br /&gt;&lt;br /&gt;Q My installer/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;uninstaller&lt;/span&gt; did not run successfully! Can not proceed with a fresh installation&lt;br /&gt;&lt;br /&gt;Ans- Remove/rename the global registry file and try &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_12"&gt;running&lt;/span&gt; the installer/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;uninstaller&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Q Needs to identify the components installed by the installer or need to find which components were removed by the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;uninstaller&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ans-  Check the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;xml&lt;/span&gt; file it will contain the component information, the file in itself is self explanatory in nature.&lt;br /&gt;&lt;br /&gt;Q. By mistake I have removed the global registry file but installation is &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_16"&gt;intact&lt;/span&gt;, will by &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;uninstallation&lt;/span&gt; work properly?&lt;br /&gt;&lt;br /&gt;Ans- Yes absolutely, if the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;uninstaller&lt;/span&gt; does not find the global registry file it will look for the file at $USER_INSTALL_DIR$/Uninstall_$PRODUCT_NAME$/.com.zerog.registry.xml file it contains all the information about that individual installation.&lt;br /&gt;&lt;br /&gt;So conclude with the global registry file can help the user to manipulate the installation or &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;uninstallation&lt;/span&gt; in a desired manner and is sometimes very helpful in recovering the product instance after a &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_20"&gt;corrupt&lt;/span&gt; installation&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7137121975677135390-5455837775658619331?l=installanywhere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://installanywhere.blogspot.com/feeds/5455837775658619331/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7137121975677135390&amp;postID=5455837775658619331' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/5455837775658619331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/5455837775658619331'/><link rel='alternate' type='text/html' href='http://installanywhere.blogspot.com/2009/01/installanywhere-global-registry.html' title='InstallAnywhere global registry'/><author><name>Avinash Anand</name><uri>http://www.blogger.com/profile/00577022933325975973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137121975677135390.post-4536402355507167409</id><published>2008-12-04T13:24:00.000-08:00</published><updated>2008-12-04T13:56:18.683-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DIM'/><title type='text'>Developer Installation Manifest</title><content type='html'>Developers of the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;InstallAnywhere&lt;/span&gt; community would be very much familiar with the terminology "Developer Installation Manifest" commonly refereed as DIM.&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;InstallAnywhere&lt;/span&gt; provides the installation developer add addition pay load to their projects without adding any rework or hassle. The use of DIM proves to be of great importance if the application is developed by a large team across multiple sites. The process of packaging and requirement gathering proves to be very tedious and error prone. Due to lack of communication or insufficient knowledge many a times small bugs are introduced to the application package in the form of extra files/files missing/non registration of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;OCX&lt;/span&gt; etc.&lt;br /&gt;&lt;br /&gt;Now imagine if &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;theres&lt;/span&gt; a way the application developers who are writing the actual software do not require to communicate the list of file to be shipped in the required directory structure :) , imagine if the developer can test his standalone package while &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_4"&gt;debugging&lt;/span&gt; or testing his application in stand alone mode. That to the developer does not require to this into an &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;xml&lt;/span&gt; with any common text editor, all he/she has to do is to use his frequently used &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;dev&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;IDE&lt;/span&gt; eclipse or .NET editor! Seems cool ..... But how????&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;InstallAnyewhere&lt;/span&gt; allows to install &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;plugins&lt;/span&gt; to commonly used development &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;IDE's&lt;/span&gt; currently Eclipse and .NET &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;IDE&lt;/span&gt;, these &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;plugins&lt;/span&gt; allow the application software engineer to author to create &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;DIM's&lt;/span&gt; which contain source and target locations of the file needed to run his component . All he needs to do is to identify the files and folder source location and needs to provide the target location on the end machine where it is going to be installed. This DIM can be plugged into the main project owned by the &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_14"&gt;installation&lt;/span&gt; author or the Build/Release engineer. This gives the development team the sense of ownership of the &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_15"&gt;application&lt;/span&gt; files owned by them and reduces the cost of &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_16"&gt;maintenance&lt;/span&gt; and authoring to a large extent.&lt;br /&gt;&lt;br /&gt;If will be asked to rate features and benefits of DIM over the traditional benefit of adding the files and folder into the main project I would give it a 10 on 10.&lt;br /&gt;&lt;br /&gt;I am listing down some of the key benefits of the DIM below&lt;br /&gt;&lt;br /&gt;1. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;DIM's&lt;/span&gt; allows the flexibility to be updated and owned by &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_18"&gt;individual&lt;/span&gt; developers&lt;br /&gt;2. It creates sufficient data encapsulation to the rest of members of the project&lt;br /&gt;3. Developers can add files and folders inside the DIM&lt;br /&gt;4. They will have option to register the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;ocx&lt;/span&gt; and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;dll&lt;/span&gt; if required &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;wihin&lt;/span&gt; the DIM&lt;br /&gt;5. Environment variables can be created inside the DIM&lt;br /&gt;6. Group functions can be assigned inside the DIM&lt;br /&gt;7. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;DIM's&lt;/span&gt; can be build and tested in a stand alone mode there by reducing the build time and ease for the developer to test his/her &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_23"&gt;application&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Above all features are &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_24"&gt;definitely&lt;/span&gt; a great boon for the developer and build engineers of distributed and gigantic applications&lt;br /&gt;&lt;br /&gt;I have also observers some of the major issues with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;InstallAnyhwere&lt;/span&gt; &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_26"&gt;collaboration&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;plugin&lt;/span&gt; in Eclipse. They are big issues but still can be lived with, here are some of them.&lt;br /&gt;&lt;br /&gt;1. If the folder addition feature in the DIM is given some filters to add the contents of the DIM, it cannot be build and gives some &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_28"&gt;weired&lt;/span&gt; exception. The possible workaround for this issue is to add the folder as a speed folder inside the main project and then give &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_29"&gt;constraints&lt;/span&gt; or filters&lt;br /&gt;2. Files need to be physically present at the source location if you are trying it to add in the DIM. The possible work around for this issue is to create a dummy file at the specified source location using touch &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_30"&gt;utility&lt;/span&gt; or its equivalent on any OS&lt;br /&gt;3. The installer output of the DIM can not be used in a stand alone mode for the customer purpose as it shows a warning message that "This &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_31"&gt;installer&lt;/span&gt; has been built using a &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_32"&gt;collaboration&lt;/span&gt; tool and hence should not be used to production"&lt;br /&gt;4. The most big issue is that all the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;plugins&lt;/span&gt; that are &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_34"&gt;installed&lt;/span&gt; and used has to be &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_35"&gt;compulsorily&lt;/span&gt; have a valid license for its use(i.e if you have a team of 100 people who will be &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_36"&gt;writing&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37"&gt;DIM's&lt;/span&gt; for their small software piece you need to &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_38"&gt;actually&lt;/span&gt; have 100 licenses). The only available workaround for this problem is to install IA &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_39"&gt;collaboration&lt;/span&gt; tool on a common machine where all the developers are going to have access and each of them will be &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_40"&gt;authoring&lt;/span&gt; their individual DIM at different point of time :(&lt;br /&gt;&lt;br /&gt;All of the above pros and cons have taken me to  the conclusion that &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_41"&gt;DIM's&lt;/span&gt; are of great use if used &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_42"&gt;efficiently&lt;/span&gt; and with proper planning.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7137121975677135390-4536402355507167409?l=installanywhere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://installanywhere.blogspot.com/feeds/4536402355507167409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7137121975677135390&amp;postID=4536402355507167409' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/4536402355507167409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/4536402355507167409'/><link rel='alternate' type='text/html' href='http://installanywhere.blogspot.com/2008/12/developer-installation-manifest.html' title='Developer Installation Manifest'/><author><name>Avinash Anand</name><uri>http://www.blogger.com/profile/00577022933325975973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137121975677135390.post-7933407901648839570</id><published>2008-06-24T03:24:00.000-07:00</published><updated>2008-06-24T03:43:52.832-07:00</updated><title type='text'>Adding image to Add/Remove program</title><content type='html'>You might have noticed that when your installer is created using InstallAnywhere, the default icon is shown (probably ZeroG icon). To customize your product according to the look and feel of your comany its very important to add a customized icon of your company that is product specific.&lt;br /&gt;This task is very easy to achieve, you just need to 'Set Windows Registry Entry' action to do it.&lt;br /&gt;In your uninstaller registry key (eg: &lt;a href="file://hklm/Software/Microsoft/Windows/CurrentVersion/uninstall/MyProduct"&gt;\\HKLM\Software\Microsoft\Windows\CurrentVersion\uninstall\MyProduct&lt;/a&gt;) create an entry named "DisplayIcon" with the value set to the full path to the icon you want to use.  This means you'll need to install the icon file with your application.&lt;br /&gt;There's also a host of other keys that IA doesn't automatically generate that you can manually create. &lt;br /&gt;If you need any more detail pertaining to the issue browse through MSDN site for more details.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7137121975677135390-7933407901648839570?l=installanywhere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://installanywhere.blogspot.com/feeds/7933407901648839570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7137121975677135390&amp;postID=7933407901648839570' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/7933407901648839570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/7933407901648839570'/><link rel='alternate' type='text/html' href='http://installanywhere.blogspot.com/2008/06/adding-image-to-addremove-program.html' title='Adding image to Add/Remove program'/><author><name>Avinash Anand</name><uri>http://www.blogger.com/profile/00577022933325975973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137121975677135390.post-498230169322278825</id><published>2008-06-23T11:21:00.000-07:00</published><updated>2008-06-23T11:54:00.305-07:00</updated><title type='text'>Pushing Install Updates to Customers</title><content type='html'>Dear readers all of you who has been involved in authoring installation projects must know the pain of IT companies in maintaining their product at the customer end. When a product goes through a release cycle the most important aspect of the company is to market the product, the most sell able aspects of the great products in the market is their ease of deployment and keeping it updated.&lt;br /&gt;Companies spend millions of $$ in maintaining in release cycle and some more millions to support it, so that they are ahead of their competitors in the market. Releasing fixes, providing updates in a timely manner is their top priority so that they can win the confidence of their customers and keep the market growing for then.&lt;br /&gt;But you all must realize that it requires huge investments for the IT companies for creating a dedicated support network for their customers to keep them updated with the latest fixes. Imagine a software which can update itself without any manual intervention, a system where the Administrator need not worry about reading the documentation before installing the updated manually, a huge enterprise system without going down for a single second updates itself !!&lt;br /&gt;I think you must not have got surprised from the above statements, you might have already seen this "Windows Updates", "Java Updates" and millions of similar updates notification that might have gone &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;un&lt;/span&gt; noticed!&lt;br /&gt;These features are a must have for installers and frankly speaking they are very easy to achieve, just a few clicks during installation and here you are. All your customers will be using your latest version of the software and you can end up saving thousands of $$ on support calls.&lt;br /&gt;You can add this feature in your installation product by using &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;FLEXnet&lt;/span&gt; Connect from &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Macrovision&lt;/span&gt;.&lt;br /&gt;All you need to do is add an update manager in your installation product, then list updates that will be pushed to the customers and you are done.&lt;br /&gt;Some of the key benefits of using the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;FLEXnet&lt;/span&gt; Connect  are listed below&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Cut Costs with Electronic Software Delivery&lt;/strong&gt;&lt;br /&gt;Cut support costs by keeping users on your most current version&lt;br /&gt;Cut product fulfillment, upgrade delivery, and renewal costs&lt;br /&gt;Increase customer satisfaction by proactively delivering updates&lt;br /&gt;&lt;strong&gt;Improve Customer Communication with In-Product Messaging&lt;br /&gt;&lt;/strong&gt;Deliver marketing messages to customers and evaluators as they use your software&lt;br /&gt;Target users based on their product version, location, entitlement status, and more&lt;br /&gt;Reach all of your customers directly, even if they purchased through a reseller&lt;br /&gt;&lt;strong&gt;Improve Marketing and Development with Customer Data&lt;/strong&gt;&lt;br /&gt;Better understand your user base with data on total customer size, versions in use, and upgrade patterns&lt;br /&gt;Learn how customers value your software by seeing which features are most popular&lt;br /&gt;Use real customer data to create better marketing campaigns and more competitive products&lt;/p&gt;&lt;p&gt;For more details over the product visit &lt;a href="http://www.acresso.com/products/installation/flexnet_connect.htm"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Macrovision&lt;/span&gt; site&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7137121975677135390-498230169322278825?l=installanywhere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://installanywhere.blogspot.com/feeds/498230169322278825/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7137121975677135390&amp;postID=498230169322278825' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/498230169322278825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/498230169322278825'/><link rel='alternate' type='text/html' href='http://installanywhere.blogspot.com/2008/06/pushing-install-updates-to-customers.html' title='Pushing Install Updates to Customers'/><author><name>Avinash Anand</name><uri>http://www.blogger.com/profile/00577022933325975973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137121975677135390.post-3801625942338209843</id><published>2008-02-26T05:52:00.001-08:00</published><updated>2008-02-26T05:52:44.720-08:00</updated><title type='text'>ASCII update problem with shell scripts in IA</title><content type='html'>&lt;div&gt;InstallAnywhere supports ASCII update of files as its predecessor ISMP. But the interesting feature with InstallAnywhere is it substitutes everything between &amp;quot;$&amp;quot; sign. The reason behind this being IA resolves its variable which are in between two $ sign like $USER_INSTALL_DIR$ or $PRODUCT_NAME$&lt;/div&gt;  &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;Here is the most interesting part which is going to attract your attention &lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;A Shell script resolves its variable the same way IA does i.e the string starting with $ sign is considered to be a shell variable. Now here&amp;#39;s the tweak if your shell script has multiple $ sign in a single line and if you are trying to update this file using IA ASCII update you will end up corrupting your file.&lt;/div&gt;  &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;A very weired solution to this problem is to replace all the $ sign with &amp;quot;DOLLAR&amp;quot;&amp;nbsp;&lt;/div&gt; &lt;div&gt;Although tough to belief the Advanced designer has the feature where you can mention do not substitute IA variables but it actually does not respect your input.&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;So if you are trying to update a file that contains multiple $ sign in a file file use DOLLAR, once the IDE update the file as per your instruction it will automatically replace the DOLLAR with $&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;:) Keep reading many more to come....&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7137121975677135390-3801625942338209843?l=installanywhere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://installanywhere.blogspot.com/feeds/3801625942338209843/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7137121975677135390&amp;postID=3801625942338209843' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/3801625942338209843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/3801625942338209843'/><link rel='alternate' type='text/html' href='http://installanywhere.blogspot.com/2008/02/ascii-update-problem-with-shell-scripts.html' title='ASCII update problem with shell scripts in IA'/><author><name>Avinash Anand</name><uri>http://www.blogger.com/profile/00577022933325975973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137121975677135390.post-2145391338455198407</id><published>2008-01-24T06:46:00.001-08:00</published><updated>2008-01-24T06:46:23.238-08:00</updated><title type='text'>Advanced dubugging during installer builds</title><content type='html'>&lt;div&gt;You might have encountered many instances where you need to turn on advanced debugging options to get proper and detailed debugging information. The usual build log does not provide detailed information. Some time you struggle through a Java I/O error or your custom code or your source code management system is behaving improper.  &lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;There have been instances when I noticed a build success but the installation operation failing, even after trying various options with my Install Anywhere IDE nothing was useful. Finally playing with the InstallAnywhere lax properties file worked for me.  &lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;These were the steps I took to get things working..&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;&lt;font size="2"&gt; &lt;p&gt;1.) Close the IDE.&lt;/p&gt; &lt;p&gt;2.) Open the file &amp;lt;IAHOME&amp;gt;/InstallAnywhere.lax in a text editor.&lt;/p&gt; &lt;p&gt;3.) Modify the following properties in the file so they read as follows:&lt;/p&gt; &lt;p&gt;lax.stderr.redirect=console&lt;/p&gt; &lt;p&gt;lax.stdout.redirect=console&lt;/p&gt; &lt;p&gt;4.) Add the following line to the top of the file:&lt;/p&gt; &lt;p&gt;lax.nl.java.option.additional=-Dlax.debug.level=3 -Dlax.debug.all=true&lt;/p&gt; &lt;p&gt;5.) Save the .lax file and close it.&lt;/p&gt; &lt;p&gt;6.) Start the IDE with the following command:&lt;/p&gt; &lt;p&gt;./InstallAnywhere 1&amp;gt;buildConsole.txt 2&amp;gt;&amp;amp;1&lt;/p&gt; &lt;p&gt;7.) Run the build.&lt;/p&gt; &lt;p&gt;Once you are done with these steps you will notice a launch anywhere window opening during the build, when your build finishes all the stderr that you were able to see in the console windows is written into a console.txt  file at your &amp;lt;IA_HOME&amp;gt; directory. &lt;/p&gt; &lt;p&gt;A tweak here is that, if you keep this option on-ever you will always see a debug console opening whenever you launch a InstallAnywhere application, so it depends on you discretion to turn on this feature or to turn it off as it gives you a detailed report of your operations performed at the cost of few extra CPU cycles and additional memory usage. &lt;/p&gt; &lt;p&gt;Keep reading there are more to come.... :)&lt;/p&gt;&lt;/font&gt;&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7137121975677135390-2145391338455198407?l=installanywhere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://installanywhere.blogspot.com/feeds/2145391338455198407/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7137121975677135390&amp;postID=2145391338455198407' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/2145391338455198407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/2145391338455198407'/><link rel='alternate' type='text/html' href='http://installanywhere.blogspot.com/2008/01/advanced-dubugging-during-installer.html' title='Advanced dubugging during installer builds'/><author><name>Avinash Anand</name><uri>http://www.blogger.com/profile/00577022933325975973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137121975677135390.post-9051070165425598982</id><published>2008-01-04T09:26:00.000-08:00</published><updated>2008-01-04T09:50:32.362-08:00</updated><title type='text'>InstallAnywhere 2008 Released</title><content type='html'>Macrovision released InstallAnywhere 2008 Enterprise and standard edition late 2007, it contains many fixes and new features.&lt;br /&gt;The most important was removal of support for JRE 1.4, it came in support for Java 1.6. Other promising features that came in was support for MSI installers and Windows VISTA.&lt;br /&gt;&lt;br /&gt;To download the latest version of InstallAnywhere browse the site&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.macrovision.com/downloads/downloads_4853.htm"&gt;Download&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Release notes for InstallAnwhere are located at&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.macrovision.com/webdocuments/PDF/releasenotes_IA2008_en.pdf"&gt;Release Notes&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So old InstallAnywhere and InstallShield users start migrating your project to latest InstallAnywhere 2008 edition.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7137121975677135390-9051070165425598982?l=installanywhere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://installanywhere.blogspot.com/feeds/9051070165425598982/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7137121975677135390&amp;postID=9051070165425598982' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/9051070165425598982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/9051070165425598982'/><link rel='alternate' type='text/html' href='http://installanywhere.blogspot.com/2008/01/installanywhere-2008-released.html' title='InstallAnywhere 2008 Released'/><author><name>Avinash Anand</name><uri>http://www.blogger.com/profile/00577022933325975973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137121975677135390.post-5143282347812326475</id><published>2008-01-03T05:31:00.000-08:00</published><updated>2008-01-03T05:56:55.205-08:00</updated><title type='text'>File Service in Custom Codes</title><content type='html'>Many of the installer user use FileService and Win32RegistrySerives in their custom codes. Although InstallAnywhere provides support for putting and retriving Registry entries at the software install location but some times it becomes a complsion for the installer auother to use these services in their custom code.&lt;br /&gt;&lt;br /&gt;In order to use FileService in you custom code you need to activate support for File Service in your project. This can be checking the property in Project--&gt;&gt;Java--&gt;&gt; Check the radio button saying "Add File Service support"&lt;br /&gt;&lt;br /&gt;This would enable your project to over take File Service of the operating system. While developing the project add IAClasses.zip, services.jar, win32ppk.jar file to your project. IAClasses.jar file is present in the resources folder of your $IA_HOME services.jar will be found inside servises folder of Resources folder. Win32ppk.jar present in the OS specific folder under services.&lt;br /&gt;&lt;br /&gt;FileServices interface and Win32RegistryService interface is present in Services.jar and win32ppk.jar respectively which are hidden for new InstallAnywhere users as they are aquinted of using IAClasses.zip files in their project.&lt;br /&gt;&lt;br /&gt;When developing the custom code implement the FileService and Win32RegistryService interfaces in your project. I am putting an example below on how to implement the custom code, it will help the new users for using Registry and FileService&lt;br /&gt;&lt;br /&gt;package com.mycompany.project&lt;br /&gt;&lt;br /&gt;import com.zerog.IAClasses.*;&lt;br /&gt;import com.installshield.FileServices.*;&lt;br /&gt;import com.installsheild.RegistryService.*;&lt;br /&gt;&lt;br /&gt;public myClass extends CustomCodeAction&lt;br /&gt;{&lt;br /&gt;public void install(InstallerProxy proxy) throws InstallException&lt;br /&gt;{&lt;br /&gt;String install_path = proxy.substitute("$USER_INSTALL_DIR$");&lt;br /&gt;FileService fs = (FileService)proxy.getService(FileService.class);&lt;br /&gt;// Now you will be able to use all the methods in FileService&lt;br /&gt;fs.mkdir(install_path+"\\bin");&lt;br /&gt;win32RegistryService reg = (win32RegistryService)proxy.getService(win32RegistryService.class);&lt;br /&gt;/* Now you can use the methods exposed by Win32RegistryServices */ &lt;br /&gt;}&lt;br /&gt;public void uninstall(UninstallerProxy Uproxy) throws InstallException &lt;br /&gt;{&lt;br /&gt;// @@TBD&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;The above code snippet will explain the basic usage of FileService and Win32RegistryService in Custom code.&lt;br /&gt;&lt;br /&gt;As a matter of practice it is always advisable to use the actions provided inside the Advanced designer of InstallAnywhere, as the custom code maintenance and writing is costlier. Always refer to your installer design before deciding on the usage of InstallAnywhere Custom Code.&lt;br /&gt;&lt;br /&gt;If you require any clarification on the topic feel free to write mailto:jha.yogi@gmail.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7137121975677135390-5143282347812326475?l=installanywhere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://installanywhere.blogspot.com/feeds/5143282347812326475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7137121975677135390&amp;postID=5143282347812326475' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/5143282347812326475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/5143282347812326475'/><link rel='alternate' type='text/html' href='http://installanywhere.blogspot.com/2008/01/file-service-in-custom-codes.html' title='File Service in Custom Codes'/><author><name>Avinash Anand</name><uri>http://www.blogger.com/profile/00577022933325975973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137121975677135390.post-8395335940635781210</id><published>2007-12-20T23:19:00.001-08:00</published><updated>2007-12-20T23:19:22.410-08:00</updated><title type='text'>Creating and running Custom code for installation</title><content type='html'>&lt;div&gt;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. &lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;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. &lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;public class&amp;nbsp;code extends CustomCodeAction &lt;br&gt;{&lt;br&gt;&amp;nbsp;public void install(InstallerProxy proxy) throws InstallException&lt;br&gt;&amp;nbsp;{&lt;/div&gt; &lt;div&gt;&amp;nbsp;}&lt;/div&gt; &lt;div&gt;&amp;nbsp;public void uninstall(UninstallerProxy Uproxy) throws InstallException &lt;br&gt;&amp;nbsp;{&lt;br&gt;&amp;nbsp;}&lt;/div&gt; &lt;div&gt;}&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;Its very simple to write custom for IA. &lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;Once the Java file is compiled using the IAClasses.zip in the class path, create a .jar or .zip file for the class file.&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;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 &lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;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  &lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;Happy developing your custom actions, if you have any questions on custom code feel free to put comments on the post or write to &lt;a href="mailto:jha.yogi@gmail.com"&gt;mailto:jha.yogi@gmail.com&lt;/a&gt;&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7137121975677135390-8395335940635781210?l=installanywhere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://installanywhere.blogspot.com/feeds/8395335940635781210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7137121975677135390&amp;postID=8395335940635781210' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/8395335940635781210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/8395335940635781210'/><link rel='alternate' type='text/html' href='http://installanywhere.blogspot.com/2007/12/creating-and-running-custom-code-for.html' title='Creating and running Custom code for installation'/><author><name>Avinash Anand</name><uri>http://www.blogger.com/profile/00577022933325975973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137121975677135390.post-2016645473225452209</id><published>2007-12-18T23:24:00.001-08:00</published><updated>2008-12-08T14:45:34.882-08:00</updated><title type='text'>InstallAnywhere collaboration for Eclipse</title><content type='html'>&lt;p class="mobile-photo"&gt;&lt;a href="http://4.bp.blogspot.com/_vhSYqOiOS8c/R2jHJh37NrI/AAAAAAAAAAg/4-bKFhGjKMQ/s1600-h/DIM_Wizard-761516.JPG"&gt;&lt;img src="http://4.bp.blogspot.com/_vhSYqOiOS8c/R2jHJh37NrI/AAAAAAAAAAg/4-bKFhGjKMQ/s320/DIM_Wizard-761516.JPG"  border="0" alt="" id="BLOGGER_PHOTO_ID_5145581540796479154" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div&gt;InstallAnywhere 2008 Enterprise and standard edition provides support for collaboration with Eclipse IDE for creating developer installation manifests(DIM). DIM&amp;#39;s play a key role while&amp;nbsp;authoring huge installation projects. It allows&amp;nbsp;a team of developers to work separately and independently. InstallAnywhere provides a plugin for Eclipse which can be added during InstallAnywehere&amp;#39;s installation or it can be copied from directly to the plugins folder of Eclipse. &lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;To start&amp;nbsp;using InstallAnywhere collaboration project in Eclipse follow the steps mentioned below.&amp;nbsp;&lt;/div&gt; &lt;div&gt;1. Click&amp;nbsp;New project&amp;nbsp;in Eclipse IDE and select IsntallaAnywhere collaboration project&amp;nbsp;from the options.&lt;/div&gt; &lt;div&gt;2.&amp;nbsp;This&amp;nbsp;launches a new project creation wizard,&amp;nbsp;&amp;nbsp;enter the name&amp;nbsp;of the project and click next.&lt;/div&gt; &lt;div&gt;3. The wizard then asks for DIM details, see the snapshot and fill the relevant details.&lt;/div&gt; &lt;div&gt;4. Now you are ready to author the DIM, double click on the DIM&amp;nbsp; it will open it in the work space.&lt;/div&gt; &lt;div&gt;5. You will find various properties like General, Content, Variables and Dependencies tab at the bottom of the DIM descriptor inside workspace.&lt;/div&gt; &lt;div&gt;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. &lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;I will be writing much more about DIM&amp;nbsp;for InstallAnywhere collaboration with Eclipse, so stay tuned and keep visiting.&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7137121975677135390-2016645473225452209?l=installanywhere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://installanywhere.blogspot.com/feeds/2016645473225452209/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7137121975677135390&amp;postID=2016645473225452209' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/2016645473225452209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/2016645473225452209'/><link rel='alternate' type='text/html' href='http://installanywhere.blogspot.com/2007/12/installanywhere-collaboration-for.html' title='InstallAnywhere collaboration for Eclipse'/><author><name>Avinash Anand</name><uri>http://www.blogger.com/profile/00577022933325975973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_vhSYqOiOS8c/R2jHJh37NrI/AAAAAAAAAAg/4-bKFhGjKMQ/s72-c/DIM_Wizard-761516.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137121975677135390.post-2041995173195891914</id><published>2007-12-18T07:09:00.001-08:00</published><updated>2007-12-18T07:09:55.773-08:00</updated><title type='text'>Migrating ISMP 11.5 project to InstallAnywhere 8</title><content type='html'>&lt;div&gt;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.  &lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;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&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;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  &lt;/div&gt; &lt;div&gt;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.&amp;nbsp;  &lt;/div&gt; &lt;div&gt;3. Custom panels developed with ISMP cannot be migrated to IA.&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;Steps&amp;nbsp;to migrate ISMP project to IA&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;&amp;nbsp;Downlod the plugin for IA migration for ISMP which is available at support site of Macrovison. &lt;font color="#000000"&gt;use this link to download plugin and doccumentation from Macrovison&amp;nbsp; &lt;/font&gt;&lt;a href="http://support.installshield.com/kb/files/Q112375/install.htm"&gt; http://support.installshield.com/kb/files/Q112375/install.htm&lt;/a&gt;&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;Download the doccumentation available at &lt;a href="http://www.macrovision.com/downloads/products/flexnet_installshield/installanywhere/white_papers/ismp_ia_migration_wp.pdf"&gt;http://www.macrovision.com/downloads/products/flexnet_installshield/installanywhere/white_papers/ismp_ia_migration_wp.pdf &lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;Follow all the steps listed in the doccument to end up into a successful partial migration from ISMP to InstallAnywhere.&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;Need addtional help in migrating your old installation project to InstallAnyhwere ? keep posting&amp;nbsp;comments to the article and continue reading. A lot is due to come...&amp;nbsp; &lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7137121975677135390-2041995173195891914?l=installanywhere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://installanywhere.blogspot.com/feeds/2041995173195891914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7137121975677135390&amp;postID=2041995173195891914' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/2041995173195891914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/2041995173195891914'/><link rel='alternate' type='text/html' href='http://installanywhere.blogspot.com/2007/12/migrating-ismp-115-project-to.html' title='Migrating ISMP 11.5 project to InstallAnywhere 8'/><author><name>Avinash Anand</name><uri>http://www.blogger.com/profile/00577022933325975973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137121975677135390.post-5823855813269280822</id><published>2007-12-18T05:29:00.000-08:00</published><updated>2007-12-18T05:40:20.695-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Installation design.'/><title type='text'>Installation Design</title><content type='html'>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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;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&lt;br /&gt;&lt;br /&gt;1. Developer Installation Manifests (a.k.a. DIM)&lt;br /&gt;2. Merge modules (Sub-project that can be directly imported inside main project.)&lt;br /&gt;3. Installer components,(gives the user what to install and what not)&lt;br /&gt;4. Concept of suite installers&lt;br /&gt;&lt;br /&gt;All the above listed if utilized properly results into a high quality installer, which is time and resource efficeient.&lt;br /&gt;&lt;br /&gt;We can put a lot in Installer design discussion, I will be posting many more articles on this so stay tunned and keep visiting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7137121975677135390-5823855813269280822?l=installanywhere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://installanywhere.blogspot.com/feeds/5823855813269280822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7137121975677135390&amp;postID=5823855813269280822' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/5823855813269280822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/5823855813269280822'/><link rel='alternate' type='text/html' href='http://installanywhere.blogspot.com/2007/12/intallation-design.html' title='Installation Design'/><author><name>Avinash Anand</name><uri>http://www.blogger.com/profile/00577022933325975973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137121975677135390.post-8645898615454999944</id><published>2007-12-18T03:35:00.000-08:00</published><updated>2007-12-18T03:44:12.958-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='command line build'/><title type='text'>Building InstallAnywhere project from command line</title><content type='html'>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. &lt;br /&gt;Building a InstallAnywhere project is very easy through command line. See the example below to build the project from command line.&lt;br /&gt;&lt;br /&gt;Go to $IA_HOME directory through command line using CD command.&lt;br /&gt;Now execute the following command&lt;br /&gt;$&gt;build.exe $IA_PROJECT_HOME\proj_nam.iap.xml&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;Feel free to put in your comments and feedback !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7137121975677135390-8645898615454999944?l=installanywhere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://installanywhere.blogspot.com/feeds/8645898615454999944/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7137121975677135390&amp;postID=8645898615454999944' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/8645898615454999944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/8645898615454999944'/><link rel='alternate' type='text/html' href='http://installanywhere.blogspot.com/2007/12/building-installanywhere-project-from.html' title='Building InstallAnywhere project from command line'/><author><name>Avinash Anand</name><uri>http://www.blogger.com/profile/00577022933325975973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137121975677135390.post-7521478961350033999</id><published>2007-12-17T06:33:00.000-08:00</published><updated>2007-12-17T06:41:45.104-08:00</updated><title type='text'>Creating Multiplatform Installers</title><content type='html'>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. &lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;I will come up with more articles on how to create Multiplatform installers using InstallAnywhere, so stay tunned.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7137121975677135390-7521478961350033999?l=installanywhere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://installanywhere.blogspot.com/feeds/7521478961350033999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7137121975677135390&amp;postID=7521478961350033999' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/7521478961350033999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/7521478961350033999'/><link rel='alternate' type='text/html' href='http://installanywhere.blogspot.com/2007/12/creating-multiplatform-installers.html' title='Creating Multiplatform Installers'/><author><name>Avinash Anand</name><uri>http://www.blogger.com/profile/00577022933325975973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137121975677135390.post-3974247043010472064</id><published>2007-12-14T04:15:00.000-08:00</published><updated>2007-12-14T04:22:43.833-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Introduction'/><title type='text'>InstallAnywhere a neccesity after IntallShield called off from market</title><content type='html'>Building multiplatform installers and thinking which product to use.&lt;br /&gt;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.&lt;br /&gt;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.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7137121975677135390-3974247043010472064?l=installanywhere.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://installanywhere.blogspot.com/feeds/3974247043010472064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7137121975677135390&amp;postID=3974247043010472064' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/3974247043010472064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137121975677135390/posts/default/3974247043010472064'/><link rel='alternate' type='text/html' href='http://installanywhere.blogspot.com/2007/12/installanywhere-neccesity-after.html' title='InstallAnywhere a neccesity after IntallShield called off from market'/><author><name>Avinash Anand</name><uri>http://www.blogger.com/profile/00577022933325975973</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
