|
|
|
[Method to
change the mask image] The features and options of silent installation version
The features of the silent installation version:
The silent installation version does not display any messages while this
software is installed to PC.
ü A message does not appear when the installing is completed.
ü The PC is rebooted without a message when user updates this
software from previous version and PC requires a restart.
User can specify the massage and behavior of installation as installation option
as follows.
Installation’s Options
User specifies the following options.
Format:
>EMP_NSCInstSilent.exe /xxxxx
Installation Options
Parameters Descriptions
/ep_reboot PC is rebooted when user wants to reboot after the installation is
completed.
/ep_disp_end The completed message is displayed on a screen when the
installation is completed.
/ep_disp_restart The message to reboot a PC is displayed on a screen when user
updates the software from previous version.
Options of initial settings:
User can specify the initial setting by specifying the following values in
“nscsettings.ini”. The “nscsettings,ini” is in “InstData” folder.
Initial settings
Section name Key name Key value and descriptions
[initialize] StartNICType [Features]
Specify the initial network adaptors that user uses when starting EasyMP
Network Projection.
[Value]
0: Not specify the network adaptor automatically. (User specifies the network
adaptor manually when user starts EasyMP Network Projection.
1: Specify the used network adaptor automatically.
2: Specify the wireless network adaptor automatically when user starts EasyMP
Network Projection.
3: Specify the wired network adaptor automatically when user starts EasyMP
Network Projection.
Default settings: 0
StartMode [Features]
Specify the start mode of EasyMP Network Projection
[Value]
0: Select the start mode when user starts EasyMP Network Projection
1: Specify Quick Connection mode when user starts EasyMP Network Projection
2: Specify Advanced Connection mode when user starts EasyMP Network Projection
Default: 0
StartSearchType [Features]
Specify the search mode when user starts EasyMP Network Projection.
[Values]
0:EasyMP Network Projection searches projectors by “Automatic Search”
1: Select the search mode when user starts EasyMP Network Projection.
2: EasyMP Network Projection searches projectors by what user used last time.
Default: 0
FullScreenMovie [Features]
Enable “full-screen video transfer” mode ON/OFF.
[Values]
0: Disable “full-screen video transfer”
1: Enable “full-screen video transfer”
Default: 1
InstallVirtualDisplay [Features]
Enable / Disable EPSON Virtual Display function.
[Values]
0: No install “Add/Remove EPSON Virtual Display” to PC.
1: Install “Add/Remove EPSON Virtual Display” to PC.
Default: 1
InstallVirtualDisplayNum [Features]
Specify the number of installing EPSON Virtual Display .
(User can use this option when “InstallVirtualDisplay” Key is set to 1.)
0: No install EPSON Virtual Display
1: Install one EPSON Virtual Display to PC
2: Install two EPSON Virtual Displays to PC
3: Install three EPSON Virtual Displays to PC
4: Install four EPSON Virtual Displays to PC
Default : 1
A example of “nscsettings.ini”:
[initialize]
StartNICType=0
StartMode=2
StartSearchType=1
FullScreenMovie=1
InstallVirtualDisplay=1
InstallVirtualDisplayNum=2
Select the mask image in “Presentation mode”
The mask image is displayed on a screen when user select “presentation mode”
and Slide Show is not playing.
User can specify the used image by the following setting.
1. Prepare the image file (.jpg) you want to use
2. Rename the prepared file “Image.jpg”.
3. Save “iage.jpg” file in “InstData”.
4. Execute EMP_NSCInstSilent.exe
(Notice!!)
The file name should be “image.jpg”. If the name of the put file is different
from “image.jpg”, the put file “image.jpg” is not installed to PC.
Install the used profile
User can install the used profile by the following operation.
[Method to install the used profile]
1. Export profile files
2. Rename the profile “Profile_e.plist” and “Profile_s.plist”.
“Profile_e.plist” is for Quick connection mode. And “Profile_s.plist” is for
Advanced connection mode.
3. Save “Profile_e.plist” and “Profile_s.plist” in “InstData” folder.
4. Execute EMP_NSCInstSilent.exe
(Notice!!)
The file name should be the same as original file “Profile_e.plist” and
“Profile_s.plist”.
If the names of the put files are different from “Profile_e.plist” and
“Profile_s.plist”, the profiles files are not installed to PC.
After user install EasyMP Network Projection, “Profile_e.plist” and
“Profile_s.plist” files are saved in the following folders. When user
uninstalls EasyMP Network Projection, these files are not removed from the
following folder.
User needs to delete these files from the following folder is necessary.
[Saved folder]
WindowsXP
(System):\Documents and Settings\All
Users\Application Data\SEIKO EPSON CORPORATION\EMP NS Connection
WindowsVista
(System):\ProgramData\SEIKO EPSON
CORPORATION\EMP NS Connection
Windows7
(System):\ProgramData\SEIKO EPSON CORPORATION\EMP
NS Connection
[InstallShield Silent]3) extract InstData to subfolder InstData - Remove all folders except license
Version=v7.00
File=Response File
[File Transfer]
OverwrittenReadOnly=NoToAll
[Application]
Name=EasyMP Network Projection Ver.2.87
Version=2.8.7.0
Company=SEIKO EPSON CORPORATION
Lang=0409
[{4A515955-A3D4-4FE6-98C0-E7987FF3279A}-DlgOrder]
Dlg0={4A515955-A3D4-4FE6-98C0-E7987FF3279A}-SdWelcome-0
Count=4
Dlg1={4A515955-A3D4-4FE6-98C0-E7987FF3279A}-SdLicense-0
Dlg2={4A515955-A3D4-4FE6-98C0-E7987FF3279A}-SdAskDestPath-0
Dlg3={4A515955-A3D4-4FE6-98C0-E7987FF3279A}-SdFinish-0
[{4A515955-A3D4-4FE6-98C0-E7987FF3279A}-SdWelcome-0]
Result=1
[{4A515955-A3D4-4FE6-98C0-E7987FF3279A}-SdLicense-0]
Result=1
[{4A515955-A3D4-4FE6-98C0-E7987FF3279A}-SdAskDestPath-0]
szDir=C:\Program Files (x86)\EPSON Projector\EasyMP Network Projection V2
Result=1
[{4A515955-A3D4-4FE6-98C0-E7987FF3279A}-SdFinish-0]
Result=1
bOpt1=0
bOpt2=0
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.14.2
Author: ndog
Tested and working in these OSes:
Windows 10 64bit
Script Function:
Install Epson-EasyMP 2.8.7
There is no way to completely silently install this software
Requires EULA popup to be closed to continue
#ce ----------------------------------------------------------------------------
$g_szVersion = "iNsTaLlSoFtWaRe"
If WinExists($g_szVersion) Then Exit
AutoItWinSetTitle($g_szVersion)
#requireadmin
; Install file variables
Dim $install[1][7]
$s_id = 0 ;install directory - where install file is located
$s_if = 1 ;install file - msi or exe
$s_is = 2 ;install switch - silent switch used
$s_rk = 3 ;registry key - Key to search for in registry
$s_dn = 4 ;registry display name - DisplayName string to search for in registry
$s_dv = 5 ;registry version number - DisplayVersion string to search for in registry - ensure using 'quotes' to set variable as numerical value
$s_tv = 6 ;internal variable used to set detected DisplayVersion if match found in a registry location
; create array of software to install
$install[0][0] = @TempDir & '\Epson-EasyMP\InstData'
$install[0][1] = 'setup.exe'
$install[0][2] = '-s -f1"' & @TempDir & '\Epson-EasyMP\setup.iss"'
$install[0][3] = '{4A515955-A3D4-4FE6-98C0-E7987FF3279A}'
$install[0][4] = 'EasyMP Network Projection Ver.2.87'
$install[0][5] = '2.8.7.0'
$title = "EasyMP Network Projection Setup"
; registry locations with product uninstall keys
Dim $regU[3]
$regU[0] = 'HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall'
$regU[1] = 'HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall'
$regU[2] = 'HKLM64\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall'
; scan registry for 'DisplayVersion' string to determine if software is already installed
For $r = 0 To UBound($regU) - 1 ; Loop through uninstall locations in registry
ConsoleWrite('Check registry location [' & $r & '] - ' & $regU[$r] & @CRLF)
For $i = 0 To UBound($install, 1) - 1 ; Loop through $install packages
$regKey = $regU[$r] & '\' & $install[$i][$s_rk]
$regDisplayVersion = RegRead($regKey, 'DisplayVersion')
If $regDisplayVersion = "" Then
ConsoleWrite($install[$i][$s_dn] & ' DisplayVersion not located here' & @CRLF)
ContinueLoop ; Nothing found in the registry, go to next iteration of loop
Else
ConsoleWrite($install[$i][$s_dn] & ' DisplayVersion located here: ' & $regDisplayVersion & @CRLF)
$install[$i][$s_tv] = $regDisplayVersion ; existing installed version found in the registry, add string to array
EndIf
Next
Next
; 'DisplayVersion' check if differs or missing, determine if software needs to be installed
ConsoleWrite(@CRLF) ; write a blank line to console
For $i = 0 To UBound($install, 1) - 1
If $install[$i][$s_if] = "" Then ContinueLoop ; empty Array, Continue
If $install[$i][$s_tv] = "" Then ; existing installation not found, install
ConsoleWrite($install[$i][$s_dn] & ' ' & $install[$i][$s_dv] & ' is not installed. Installing for first time...' & @CRLF)
Install($install[$i][$s_id], $install[$i][$s_if], $install[$i][$s_is])
Else ; existing installation found
If $install[$i][$s_tv] = $install[$i][$s_dv] Then
ConsoleWrite($install[$i][$s_dn] & ' ' & $install[$i][$s_dv] & ' already installed. Skipping...' & @CRLF) ; DisplayVersion in the registry matches the version being installed
ElseIf $install[$i][$s_tv] < $install[$i][$s_dv] Then ; Older version is installed, install newer version
ConsoleWrite($install[$i][$s_dn] & ' ' & $install[$i][$s_tv] & ' is installed. Installing newer version...' & @CRLF)
Install($install[$i][$s_id], $install[$i][$s_if], $install[$i][$s_is])
Else
ConsoleWrite($install[$i][$s_dn] & ' ' & $install[$i][$s_tv] & ' is already installed which is a newer version than this installer: ' & $install[$i][$s_dv] & '. Skipping...' & @CRLF)
EndIf
EndIf
Next
; end of script
; function to install software
Func Install($installfileparentdir, $installfileexe, $switch)
$processname = $installfileexe
$sTempDir = @TempDir & '\Epson-EasyMP'
DirCreate($sTempDir)
DirCopy(@ScriptDir, $sTempDir, 1)
$installfullpath = _PathFull($installfileparentdir & '\' & $installfileexe)
ConsoleWrite('Installing - ' & $installfullpath & @CRLF)
If FileExists($installfullpath) Then
$ext = stringRight($installfullpath, 4)
If $ext = '.exe' Then
Run($installfullpath & ' ' & $switch)
ElseIf $ext = '.msi' Then
Run(@SystemDir & '\msiexec.exe /i "'& $installfullpath & '" ' & $switch)
ProcessWait($processname) ; not tested
EndIf
Else
MsgBox(0, 'Installation Error', 'Cannot locate ' & $installfullpath, 5)
EndIf
While ProcessExists($processname)
If WinExists($title) Then
ControlClick($title, "", "Button2")
Sleep(1000)
Else
Sleep(200)
EndIf
WEnd
ConsoleWrite('Installation complete' & @CRLF)
EndFunc
; Internal Functions
; #FUNCTION# ====================================================================================================================
; Author ........: Valik (Original function and modification to rewrite), tittoproject (Rewrite)
; Modified.......:
; ===============================================================================================================================
Func _PathFull($sRelativePath, $sBasePath = @WorkingDir)
If Not $sRelativePath Or $sRelativePath = "." Then Return $sBasePath
; Normalize slash direction.
Local $sFullPath = StringReplace($sRelativePath, "/", "\") ; Holds the full path (later, minus the root)
Local Const $sFullPathConst = $sFullPath ; Holds a constant version of the full path.
Local $sPath ; Holds the root drive/server
Local $bRootOnly = StringLeft($sFullPath, 1) = "\" And StringMid($sFullPath, 2, 1) <> "\"
If $sBasePath = Default Then $sBasePath = @WorkingDir
; Check for UNC paths or local drives. We run this twice at most. The
; first time, we check if the relative path is absolute. If it's not, then
; we use the base path which should be absolute.
For $i = 1 To 2
$sPath = StringLeft($sFullPath, 2)
If $sPath = "\\" Then
$sFullPath = StringTrimLeft($sFullPath, 2)
Local $nServerLen = StringInStr($sFullPath, "\") - 1
$sPath = "\\" & StringLeft($sFullPath, $nServerLen)
$sFullPath = StringTrimLeft($sFullPath, $nServerLen)
ExitLoop
ElseIf StringRight($sPath, 1) = ":" Then
$sFullPath = StringTrimLeft($sFullPath, 2)
ExitLoop
Else
$sFullPath = $sBasePath & "\" & $sFullPath
EndIf
Next
; If this happens, we've found a funky path and don't know what to do
; except for get out as fast as possible. We've also screwed up our
; variables so we definitely need to quit.
; If $i = 3 Then Return ""
; A path with a drive but no slash (e.g. C:Path\To\File) has the following
; behavior. If the relative drive is the same as the $BasePath drive then
; insert the base path. If the drives differ then just insert a leading
; slash to make the path valid.
If StringLeft($sFullPath, 1) <> "\" Then
If StringLeft($sFullPathConst, 2) = StringLeft($sBasePath, 2) Then
$sFullPath = $sBasePath & "\" & $sFullPath
Else
$sFullPath = "\" & $sFullPath
EndIf
EndIf
; Build an array of the path parts we want to use.
Local $aTemp = StringSplit($sFullPath, "\")
Local $aPathParts[$aTemp[0]], $j = 0
For $i = 2 To $aTemp[0]
If $aTemp[$i] = ".." Then
If $j Then $j -= 1
ElseIf Not ($aTemp[$i] = "" And $i <> $aTemp[0]) And $aTemp[$i] <> "." Then
$aPathParts[$j] = $aTemp[$i]
$j += 1
EndIf
Next
; Here we re-build the path from the parts above. We skip the
; loop if we are only returning the root.
$sFullPath = $sPath
If Not $bRootOnly Then
For $i = 0 To $j - 1
$sFullPath &= "\" & $aPathParts[$i]
Next
Else
$sFullPath &= $sFullPathConst
; If we detect more relative parts, remove them by calling ourself recursively.
If StringInStr($sFullPath, "..") Then $sFullPath = _PathFull($sFullPath)
EndIf
; Clean up the path.
Do
$sFullPath = StringReplace($sFullPath, ".\", "\")
Until @extended = 0
Return $sFullPath
EndFunc ;==>_PathFull
@echo off&clsDone. Run install.cmd to install the software.
:: Installer must be copied to a temporary location where write access is given in the root of the installer
:: Running from non-writable UNC path will cause script to exit without running
title EasyMP projector
echo Installing EasyMP Network Projection, Please wait...
:: create setup.iss (c:\windows\setup.iss)
REM "%~dp0\InstData\setup.exe" -r
:: silently install easyMP Network projection
if not exist "%temp%\AutoIt3.exe" copy /y "%~dp0AutoIt3.exe" "%temp%" >nul
"%temp%\AutoIt3.exe" "%~dp0EasyMP install.au3"
New-NetFirewallRule -Direction Inbound -DisplayName "EasyMP Network Projection" -Program "%ProgramFiles(x86)%\EPSON Projector\EasyMP Network Projection V2\EMP_NSC.exe" -Action Allow -EdgeTraversalPolicy Allow
New-NetFirewallRule -Direction Outbound -DisplayName "EasyMP Network Projection" -Program "%ProgramFiles(x86)%\EPSON Projector\EasyMP Network Projection V2\EMP_NSC.exe" -Action Allow
View inventory records anonymously contributed by opt-in users of the K1000 Systems Management Appliance.
In addition to modifying the nscsettings.ini file, I actually wrote a small batch file that ran the installer, waited (because the installer calls other executables), then ran a quick little .vbs script to pin the EasyMP shortcut to the taskbar.
Zipped the modified ini & new batch file along with all the other contents of the "Perfect Silent" folder (from Epson's original that you'll download link: NSCV286Win_PerfectSilent.zip), uploaded to K1000 EasyMP 2.86 inventory, then made a Managed Installation that overwrites the default installation (so I could use my .bat file) & deletes downloaded files. - cmgreene 9 years ago