Timothy
Timothy

Reputation: 41

Creating an MSI or Script to deploy an EXE through AD

First: I know there are other questions that ask similar/the same thing, I have looked at them tried all of them but no solution has helped.

The problem: We use Epson Iprojection (downloaded from here: https://www.epson.co.nz/products/projectors/software/) However I can not find a way to get an MSI out of it (I am starting to think there is no MSI bundled in the .exe), and I can not seem to install it through CMD on computer start using AD. Any help will be greatly appreciated.

Upvotes: 1

Views: 1058

Answers (3)

SYNACKNZ
SYNACKNZ

Reputation: 1

I know this is an old thread but it looks like it may be easy now. The latest 2.41 from here

http://www.downloads.epson.com.au/DownloadFile.asp?filename=iProV2411Win%5FWEB%2Eexe&path=Drivers

seems to have an MSI in it. Just jump into the %temp% folder and organize by date so you can see the latest files. Run the installer and a new folder named with a GUID should show up, in my case {27CDEEE8-B6F2-45a7-A48E-696862573D9B}.

Under this folder there is a series of InstData folders like InstDataX64 where you can find an MSI.

Upvotes: 0

Peter Wishart
Peter Wishart

Reputation: 12270

Buried within the single-exe download is iProjection_inst.exe, some sort of wrapper that prompts for language selection, and doesn't seem to have a standard "non-interactive" mode.

Inside this is instData\Setup.exe, a vintage "full screen" InstallShield installer with external ini / cab files.

Running this with Setup.exe /? doesn't give any command line arguments, as it would for a modern InstallShield setup.exe.

Although it supports recording an answer file via Setup.exe /r, when I try to replay the answer file with Setup.exe /s it seems to still prompt for EULA, and then fails to install.

So this is really a design flaw in the innermost installer to do with the dialog sequence.

Assuming Epson won't fix it and repackaging is too hard, a hacky alternative is to use Powershell to automate the UI of instData\Setup.exe once the "Welcome" screen is showing, but I don't think this will work running as an AD script.

$wshell = New-Object -ComObject wscript.shell
$aName = "Epson iProjection Setup"
function Next() { 
  if ($wshell.AppActivate($aName)) { 
    $wshell.SendKeys(' '); 
    start-sleep 1;
  } 
}
function AcceptEula() {
  if ($wshell.AppActivate($aName)) {
   $wshell.SendKeys("{TAB}"); 
   $wshell.SendKeys("{TAB}"); 
   $wshell.SendKeys(' '); 
   start-sleep 1;
  } 
}
Next; AcceptEula; AcceptEula; start-sleep 20; Next;

Upvotes: 0

Stein Åsmul
Stein Åsmul

Reputation: 42126

Vague Answer: Let me try to formulate an answer out of those messy comments above. I only briefly tested this software, it might not deploy as badly as expressed. Remember that this is a generic answer for whoever would find this in the future, and not for OP per-se (there is no real answer in here).


Due Diligence: I always try to consult package tip databases if I have problems with a package. Somebody, somewhere will have seen the same problem (eventually).

Silent Installation: Silent installation of legacy setups is usually possible (not always), but never really reliable. For Installshield it involves recording answer files (setup.iss) that record dialog answers. However, unknown dialogs can show up suddenly on some systems (low disk space, reboot prompts, unexpected lock or application in-use warnings, unexpected service running warnings,etc...) and hence halt the install unexpectedly as the response file has no recorded value for the dialog in question. This particular Epson setup also has an unfortunate reboot requirement on uninstall that is hard to deal with for large scale deployment (spontaneous reboot likely - without warning).

Repackaging: Personally I would try to capture the install using a repackaging tool. Most of these are expensive, but can output MSI, MSIX or other deployment package types. Repackaging fails when the package contains complex, custom logic that - for example - create dynamic content (ciphers, unique GUIDs, etc...) and in a number of very specific technical cases.

Contact Vendor: If you capture an MSI that doesn't work, why not try to send it back to the vendor with some comments on how hard this software is to deploy and maybe mention the major benefits of MSI? I would tell them you have to ditch the whole software from your network if they can't deliver a deployment solution that works. Time is of the essence. "Some solutions are only free if your time is worthless" (quote from Joel Spolsky himself - slightly out of context, but the same issue: we need solutions that work in a timely fashion).

Note: I once had to compile a special setup to deal with a client's deployment problem that was our fault. Deployment problems need fixing at a standardization level. Standards!

Upvotes: 1

Related Questions