updated MSI Questions. Ver.: Alpha 4


Hello all,

I have updated the MSI Interview Questions, the updated document can be downloaded from http://sourceforge.net/projects/mayadeploy/files/FAQ/FAQ%20on%20MSI%20packaging%20and%20repackaging_0.0_1Beta4.pdf/download.

Enjoy solving the last 3 questions.

As always the questions & answers might be wrong.

🙂 so please correct me if that is the case :).

Enjoy,

Mayank Johri

Tips: MSI: Save differences between two msi as MST file using ruby & python


Ruby

require ‘win32ole’
msiClass = WIN32OLE.new(“WindowsInstaller.Installer”)
msidb = msiClass.OpenDatabase(“C:\\temp\\MountPointGenerator.msi”,0)
newmsidb = msiClass.OpenDatabase(“C:\\temp\\updatedMountPointGenerator.msi”,0)
transform = newmsidb.GenerateTransform(msidb,”c:\\temp\\newtest.mst”)

Python

import win32com.client
import os
import sys

msiOpenDatabaseModeReadOnly=0
msidb=r”c:\temp\MountPointGenerator.msi”
msiupdb=r”c:\temp\updatedMountPointGenerator.msi”
mstdb=r”C:\temp\MNPtrans.mst”

installer = win32com.client.Dispatch(“WindowsInstaller.Installer”)
database = installer.OpenDatabase(msidb, msiOpenDatabaseModeReadOnly)
updatedDB= installer.OpenDatabase(msiupdb , msiOpenDatabaseModeReadOnly)
updatedDB.GenerateTransform(database, mstdb)

QA: MSI Interview: Explain the difference between Property and PROPERTY


Q: Explain the difference between Property and PROPERTY

ANS:

  1. Public Property:

Public properties can be changed anytime by a user, system or admin on the command line while installing, by applying a transform or by interacting with the authored user interface (Installation Interface)

They are always in upper case

  1. Private Property:

The installer uses then internally and their values are initialized in the installation database (msi) or set by the values determined by the OS.

Private property names must always include lowercase letters. (Thanks Alek for correcting)