Here it is my solution!
I used
Orca tool from Microsoft to analyze LogMeIn.msi, and I found a lot of properties and conditions there! The correct command line is the following:
logmein.msi /quiet USERPASSWORD=pcpassword USERVERIFYPWD=pcpassword USEREMAIL=email@email.com USERWEBPASSWORD=password LicenseType=free
You will get LogMeIn installed, but will fail to register computer into specified email/pass account! This happen because LogMeIn Free msi is built to not allow an quiet or passive deploy!
I noticed into logmein.msi that some actions are executed on Next Button click, instead on InstallExecuteSequence, or if UILevel=2 (normal window)!
So, here it is my "fix":
Use Orca to edit LogMeIn.msi as follow:
1. on
InstallExecuteSequence table, find
LMIDeployCookieReg action and change condition
from:
UILevel=2 AND UPGRADEPRODUCT<>1 AND InstallMode<>"Remove"
into:
UPGRADEPRODUCT<>1 AND InstallMode<>"Remove"
2. on InstallExecuteSequence table add following 3 actions:
action:
GetLMIRegistrationCookie condition:
NOT Installed sequence:
3710
action:
LMIGetLicense condition:
NOT Installed sequence:
3730
action:
LMIGetLicenseForProfile condition:
NOT Installed sequence:
3720
3. on Property table change following properties:
find
LICENSETYPE property and change value from:
IT into:
free
find
LicenseType property and change value from:
IT into:
free
3.i. on
InstallExecuteSequence table, find
CreateUserSetProperty action and change condition
from:
CANCREATEUSER AND PASSWORDSOK="true" AND VersionNT AND REMOVE<>"ALL"
into:
VersionNT AND REMOVE<>"ALL"
3.ii. on
InstallExecuteSequence table, find
CreateUser action and change condition
from:
CANCREATEUSER AND PASSWORDSOK="true" AND VersionNT AND REMOVE<>"ALL"
into:
VersionNT AND REMOVE<>"ALL"
4. save
LogMeIn.msi and try again command line:
logmein.msi /quiet USERPASSWORD=pcpassword USERVERIFYPWD=pcpassword USEREMAIL=email@email.com USERWEBPASSWORD=password LicenseType=free
From here you can build your own custom installer! If you are familiar with
Inno Setup Compiler, here it is an example:
[size=1]; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define _AppName "Customized LogMeIn"
#define _AppVer "3.00.606"
#define _AppPublisher "LogMeIn"
#define _AppUrl "http://www.logmein.com"
#define _AppSetup "LogMeIn"
#define LmiUsrMail "email@email.com"
#define LmiUsrPass "password"
#define LmiPCCode "pcpassword"
[Setup]
AppName = {#_AppName}
AppVerName = {#_AppName} {#_AppVer}
AppPublisher = {#_AppPublisher}
AppPublisherURL = {#_AppUrl}
AppSupportURL = {#_AppUrl}
AppUpdatesURL = {#_AppUrl}
OutputDir = .
OutputBaseFilename= {#_AppSetup}
Compression = lzma
SolidCompression = yes
AppVersion = {#_AppVer}
VersionInfoCompany = {#_AppPublisher}
VersionInfoCopyright = {#_AppPublisher}
VersionInfoTextVersion = {#_AppVer}
VersionInfoVersion = {#_AppVer}
WizardImageFile = files\SetupModern16.bmp
WizardSmallImageFile = files\SetupModernSmall16.bmp
CreateAppDir = no
CreateUninstallRegKey = no
UpdateUninstallLogAppName = no
Uninstallable = yes
DisableDirPage = yes
DisableReadyMemo = yes
DisableProgramGroupPage = yes
DisableReadyPage = yes
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
[Files]
Source: "files\_logmein.msi"; DestDir: "{tmp}"; Flags: deleteafterinstall
[Run]
Filename: "{tmp}\_logmein.msi"; Parameters: "USERPASSWORD={#LmiPCCode} USERVERIFYPWD={#LmiPCCode} USEREMAIL={#LmiUsrMail} USERWEBPASSWORD={#LmiUsrPass} LicenseType=free /quiet"; StatusMsg: "Installing and configuring LogMeIn! Please wait ..."; Flags: waituntilterminated shellexec
[/size]
And that's it!
slimbyte
This post has been edited by slimbyte: 07 August 2007 - 01:12 PM