Changes

PureEdge Viewer

1,629 bytes added, 17:05, 2 December 2010
Add silent uninstaller
PureEdge Viewer has been superseded by [[Lotus Forms Viewer]].
 
Silent installer for PureEdge Viewer. http://www.e-publishing.af.mil/viewerdownload.asp
id="pureedge"
name="PureEdge Viewer"
revision="65.1"
reboot="false"
priority="1">
<check type="uninstall" condition="exists" path="PureEdge Viewer 6.5" />
<depends package-id="7zip" />
<depends package-id="activeperl" />
<install cmd='"%SOFTWARE%\pureedge\PEViewer650DODJ12.exe" /s /a /s /sms /f1"%SOFTWARE%\pureedge\setup.iss" /f2"%TEMP%\setuppureedge_setup.log"' />
<install cmd='%COMSPEC% /c start "7-zip" /wait "%PROGRAMFILES%\7-zip\7z.exe" x -o"%ALLUSERSPROFILE%\Desktop\PureEdge Forms" -y "%SOFTWARE%\pureedge\forms.zip"' />
<upgrade cmd='"%SOFTWARE%\pureedge\silence.pl" "%PROGRAMFILES%\InstallShield Installation Information\{E0000650-0650-0650-0650-000000000650}\Setup.exe"' /> <upgrade cmd='%COMSPEC% /c start "Uninstaller" /wait "%WINDIR%\System32\rundll32.exe" "%COMMONPROGRAMFILES%\InstallShield\Engine\6\Intel 32\Ctor.dll",LaunchSetup "%PROGRAMFILES%\InstallShield Installation Information\{E0000650-0650-0650-0650-000000000650}\Setup.exe" -l0x9 -uninst /s /a /s /sms' /> <upgrade cmd='"%SOFTWARE%\pureedge\PEViewer650DODJ12.exe" /s /a /s /sms /f1"%SOFTWARE%\pureedge\setup.iss" /f2"%TEMP%\setuppureedge_setup.log"' />
<remove cmd='"%SOFTWARE%\pureedge\silence.pl" "%PROGRAMFILES%\InstallShield Installation Information\{E0000650-0650-0650-0650-000000000650}\Setup.exe"' /> <remove cmd='%COMSPEC% /c start "Uninstaller" /wait "%WINDIR%\System32\rundll32.exe" "%COMMONPROGRAMFILES%\InstallShield\Engine\6\Intel 32\Ctor.dll",LaunchSetup "%PROGRAMFILES%\InstallShield Installation Information\{E0000650-0650-0650-0650-000000000650}\Setup.exe" -l0x9 -uninst/s /a /s /sms' />
</package>
</packages>
</source>
 
=== Silent Uninstall ===
 
The uninstaller will ''not'' run silently. The only way to silence it is patching the uninstaller executable to bypass the message boxes. Here is a Perl script that will apply the appropriate patches.
 
silence.pl:
<source lang="perl">
#!/bin/perl
 
use warnings;
use strict;
 
# Command arguments
$#ARGV == 0 or die "Usage:\n$^X <file>\n";
 
# Open and validate file
open my $fh, '+<', $ARGV[0] or die $!;
seek $fh, 0, 2;
if (tell $fh != 56320) {
close $fh;
die "File size does not look right.\n";
}
 
# Disable first message box, "Are you sure you want to uninstall..."
seek $fh, 0x2A03, 0;
print $fh "\x90" x 20;
 
seek $fh, 0x2A1D, 0;
print $fh "\x90" x 9;
 
# Disable second message box, "Uninstall completed..."
seek $fh, 0x2CE0, 0;
print $fh "\x90" x 22;
 
print "File patched successfully.\n";
close $fh;
0;
</source>
[[Category:Silent Installers]]
21
edits