LogMeIn Silent Install

MrUnknown

New Member
Reaction score
5
I was browsing the internet and found a way to create a silent install of LogMeIn. It basically involved editing the logmein.msi and altering some properties to not call the custom DLL that LogMeIn has to verify the data. This will allow the information to be specified on the command-line.


EDIT: The instructions I used below were wrong and were missing 2 steps. I added them and I am updating the customlogmein.msi to a newer version with these changes already in effect.

Download the custom logmein.msi here: http://drop.io/lmisilent

If you wish to do it manually, goto your LogMeIn (LMI) account and choose "Add Another Computer" and download the LMI Free/Pro2 Installer.

Acquire a copy of Orca, the MSI Tables Editor. I got mine from this URL:
http://www.technipages.com/download-orca-msi-editor.html

Make a backup of logmein.msi and open it in Orca.

On the left-hand side, choose the InstallExecuteSequence. On the right-hand side, right-click and choose Add Row and proceed to add the following 3 rows:
action: GetLMIRegistrationCookie
condition: NOT Installed
sequence: 3710

action: LMIGetLicenseForProfile
condition: NOT Installed
sequence: 3720

action: LMIGetLicense
condition: NOT Installed
sequence: 3730

Edit these entries condition to: VersionNT AND REMOVE<>"ALL"
CreateUser
CreateUserSetProperty

If you do not change these two properties then you will have to enter the Username and Password of the local account to login instead of a specified password. This may be better for you, depending on your situation. If you were to do this to a client's computer, you would have to ask them for their password each time before connecting unless you remember it. Otherwise, you would automatically know the password.

Click Save (do not use Save As, it will screw it up).

You can now use that .MSI to do a silent install using a command like this:

customlogmein.msi /quiet USERPASSWORD=accesspassword USERVERIFYPWD=accesspassword USEREMAIL=email@email.com USERWEBPASSWORD=websitepassword LicenseType=1

Access Password is the password that the LMI site will ask you to be able to remotely control the machine. LicenseType=1 *should* set it to Free, but my account always sticks it in a Free Pro2 Trial.

You can do a silent uninstall also using this command:
msiexec /qn /x customlogmein.msi RebootYesNo="No" Reboot="ReallySuppress"

I am working on wrapping this all up into an Installer script that the end-user can just double click on and it will install LMI for them. Debating on if it should have auto-uninstall or not.

This code will apparently work with InnoSetup:
; 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=1 /quiet"; StatusMsg: "Installing and configuring LogMeIn! Please wait ..."; Flags: waituntilterminated shellexec

I got the idea and copied the code from this site:
http://www.msfn.org/board/silent-install-logmein-msi-t101432.html&mode=linear

I didn't make all of the edits that the thread specifies because they didn't seem necessary. Also, the instructions were written in 2007 so some of them weren't even available in the new logmein.msi
 
Last edited by a moderator:
NSIS Script:

; Script generated by the HM NIS Edit Script Wizard.

; HM NIS Edit Wizard helper defines
!define PRODUCT_NAME "Remote Support"
!define PRODUCT_VERSION "1.0"
!define PRODUCT_PUBLISHER "Remote Support"
!define PRODUCT_WEB_SITE "http://www.example.com/"

; LogMeIn Account Definitions
!define PC_PASSWORD "COMPUTER ACCESS PASSWORD"
!define EMAIL_ADDRESS "YOUR ACCOUNT LOGIN"
!define PASSWORD "YOUR ACCOUNT PASSWORD"

; MUI 1.67 compatible ------
!include "MUI.nsh"

; MUI Settings
!define MUI_ABORTWARNING
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"

; Welcome page
;!insertmacro MUI_PAGE_WELCOME
; License page
;!insertmacro MUI_PAGE_LICENSE "..\..\..\path\to\licence\YourSoftwareLicence.txt"
; Directory page
;!insertmacro MUI_PAGE_DIRECTORY
; Instfiles page
!insertmacro MUI_PAGE_INSTFILES
; Finish page
;!insertmacro MUI_PAGE_FINISH

; Language files
!insertmacro MUI_LANGUAGE "English"

; MUI end ------

Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "RemoteSupport.exe"
InstallDir "$PROGRAMFILES\Remote Support"
ShowInstDetails nevershow
BrandingText "Remote Support System"


Section "MainSection" SEC01
MessageBox MB_YESNO "Install Remote Support Software?" /SD IDYES IDNO endRemoteInstall
SetOutPath "$TEMP"
SetOverwrite on
File "customlogmein.msi"
ExecWait 'msiexec /i "$TEMP\customlogmein.msi" /quiet USERPASSWORD=${PC_PASSWORD} USERVERIFYPWD=${PC_PASSWORD} USEREMAIL=${EMAIL_ADDRESS} USERWEBPASSWORD=${PASSWORD} LicenseType=1'
endRemoteInstall:
SectionEnd

Section -Post
SectionEnd

The only issue with the NSIS installer is that when it executes the LMI installer, it shows the command line used to execute it. This is why the install details is set to nevershow, so the end-user will not see your username and password. You can still see some of it while it is executing it. you could change it to just Exec so it will only flash on the screen for a small moment while the LogMeIn installer runs in the background.
 
Last edited by a moderator:
This looks quite interesting... However I don't think I'd like to include my username and password (weblogin) into the exe or script...
 
I'm glad someone dug this up. I did this a year ago and lost the links to re-do mine (they did a version change and I don't want the Update Now to be the first thing they see).

Downside to this is not being able to set the computer name. Mine's not silent but pre-fills most of the information for a basic NextNextFinish install. I set the computer name to be "Lastname, Firstname" so that I can recognize them in my LMI page. So many systems are just "ACER-89B3F3" that I'd never know to which one I want to connect.

What I'd like to get around to doing is an AutoIt script that asks their info and pastes it in automatically during the installation. I might pull it from 'Registered Owner' but that's wrong a lot, too.
 
Holy crap. Old thread. lol.

eHousecalls, you can probably specify the computer name on the command-line. Maybe prompt for it on the install.

The main point for this, and I don't use it anymore, was to distribute to a computer through a remote management system and have it install it without showing anything.
 
Back
Top