Default proxy settings in .Net configuration files

In environments that provide access to the internet through a proxy .Net Assemblies might fail to access the services located on the internet. An easy way to overcome this is to configure the defaultProxy element  in the .Net configuration file for the assembly.

<configuration>
  <system.net>
    <defaultProxy>
      <proxy usesystemdefault="true"
        proxyaddress="http://192.168.1.10:3128"
        bypassonlocal="true" />
      <bypasslist>
        <add address="[a-z]+\.contoso\.com" />
      </bypasslist>
    </defaultProxy>
  </system.net>
</configuration>

The defaultProxy configuration element accepts an address, credentials an optional bypass list.

The configuration can also be inherited by .Net assemblies providing a COM interface if the defaultProxy is configured in the caller’s configuration file.

Advertisements

Passing MSI options through InstallShield setup files

Often MSI installers are wrapped in a boot strap self extracting executable, like InstallShield does it with a setup.exe.

/v

Passing command line options to the wrapped installer through msiexec.exe is straight forward and can be done on the command line by using the /v option. For InstallShield setup executables the call might look like in this example:

setup.exe /v"MSI_PARAM1=0 MSI_PARAM2=MyStringValue"

Note: MSI parameters need to be upper case, otherwise the installer will not find the parameter value in the session.

MSI log

Forcing msiexec to write a log file can be done again by passing the right option to the /v option of the setup executable.

setup.exe /v”MSI_PARAM1=0 MSI_PARAM2=MyStringValue” /v"/l*v c:\test.log"

Silent install
Forcing msiexec to perform a silent or unattended installation is again done by passing the command with the /v option.

setup.exe /v”MSI_PARAM1=0 MSI_PARAM2=MyStringValue" /v"/l*v c:\test.log" /s /v"/qr"