April 26, 2012

Installer Logging for InstallScript Type Project

Installer Logging for InstallScript Type Project

A log file can be generated to record the progress of an InstallScript based installation via a registry key. The log file can be used to diagnose the cause of failure or unexpected behavior in an installation.
Follow these steps on the target machine where the failure or unexpected behavior is occurring:
1. Add the following registry key (case insensitive):
HKEY_CURRENT_USER\ISlogit
2. A log file is automatically be generated on the Desktop after running any InstallScript setup.
3. The InstallScript log is encrypted (.bin file), and customers should contact support.
InstallShield KB article, has more details.

April 10, 2012

Handling sub-features in Silent Installation / uninstallation

This post aims at providing a deeper insight into "Handling sub-features in Silent Installation" using Basic MSI Project verified in InstallShield 2012 SP1.

Assume you have a Basic MSI Project which has the following Feature Tree
               

 
 
 
Installing selected features silently from command line
msiexec.exe /I "SampleProduct.msi" /quiet ADDLOCAL=FeatureOne,Sub-FeatureOne,FeatureTwo  /Lv* "C:\SampleProductinstall.log

For Sub features, if the Required property is set to "No" then including the feature name in ADDLOCAL will override and install it from command line / silent mode. In other words, by default Sub feature may not be selected for installation if main feature is selected. The reason is Required property is set to "No"

Remove a feature using msiexec command line
Following msiexec command removes a specific feature of the Product silently
msiexec /qb /i "SampleProduct.msi" REMOVE="FeatureOne"
 
Note: Feature Name is case sensitive.
 

April 6, 2012

Steps to Setup of CruiseControl.NET with TFS 2005 under a 64bit server

1)      Install latest plugin for TFS, which we can download here.

2)    Modify the configuration file as below.

<project>
    <name>Example1</name>
    <triggers>
      <intervalTrigger seconds="240"/>
    </triggers>
    <modificationDelaySeconds>120</modificationDelaySeconds>
    <sourcecontrol type="vsts" autoGetSource="true" applyLabel="true">
      <server>http://tfs:8080</server>
      <project>$/CA.Example1</project>
      <username>user</username>
      <password>pwd</password>
      <domain>mydomain</domain>
      <workingDirectory>C:\WorkingDirectory\example1\</workingDirectory>
    </sourcecontrol>
    <tasks>
      <msbuild>
        <executable>C:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe</executable>
        <workingDirectory>C:\WorkingDirectory\example1workingDirectory>
        <projectFile>Example1.sln</projectFile>
        <buildArgs> /p:Configuration=Debug</buildArgs>
        <targets>Build</targets>

      </msbuild>
    </tasks>
    <publishers>

    </publishers>
  </project>