mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-24 03:19:06 +00:00
NOT PART OF BUILD. Working ActiveX control installer, just the msvc runtime stuff to sort out
This commit is contained in:
parent
e21b28f1d4
commit
cd32115037
@ -2,7 +2,13 @@ Instructions for producing the ActiveX control installer
|
||||
|
||||
1. Build Mozilla
|
||||
2. Build the embedding dist
|
||||
3. Grab the latest Nullsoft Installer.
|
||||
4. Edit control.nsi with your paths & version info
|
||||
3. Grab the latest Nullsoft 2.0+ Installer from http://nsis.sourceforge.net/
|
||||
4. Run build.pl to create a file maninfest and local settings
|
||||
5. Run MakeNSISW over control.nsi
|
||||
|
||||
Notes.
|
||||
|
||||
You need NSIS 2.0. I used NSIS 2.0b3 but others will probably do as well.
|
||||
|
||||
The script will evolve but presently it assumes the dist dir is $MOZ_SRC\dist\Embed.
|
||||
|
||||
|
75
embedding/browser/activex/src/install/build.pl
Normal file
75
embedding/browser/activex/src/install/build.pl
Normal file
@ -0,0 +1,75 @@
|
||||
# Run this on Win32 only!
|
||||
|
||||
$dir_sep = '\\';
|
||||
$moz = "$ENV{'MOZ_SRC'}\\mozilla";
|
||||
$moz_dist = "$moz\\dist\\Embed";
|
||||
$moz =~ s/\//$dir_sep/g;
|
||||
$moz_version = "v1.5";
|
||||
|
||||
@dirs = ();
|
||||
|
||||
$local_nsh = "local.nsh";
|
||||
|
||||
open(NSH, ">$local_nsh") or die("Can't write to local manifest $local_nsh");
|
||||
print NSH "!define DISTDIR \"$moz_dist\"\n";
|
||||
print NSH "!define VERSION \"$moz_version\"\n";
|
||||
close(NSH);
|
||||
|
||||
open(FILES_NSH, ">files.nsh");
|
||||
push @dirs, "";
|
||||
read_dir("$moz_dist", "");
|
||||
|
||||
foreach (@dirs)
|
||||
{
|
||||
if ($_ eq "")
|
||||
{
|
||||
print FILES_NSH "\n SetOutPath \"\$INSTDIR\"\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
print FILES_NSH "\n SetOutPath \"\$INSTDIR\\$_\"\n";
|
||||
}
|
||||
|
||||
$dir = "$moz_dist\\$_";
|
||||
|
||||
opendir(DIR, $dir);
|
||||
@files = readdir(DIR);
|
||||
foreach (@files)
|
||||
{
|
||||
next if (/.*mfcembed*/i ||
|
||||
/.*winembed*/i ||
|
||||
/readme.html/i);
|
||||
|
||||
if (! -d "$dir\\$_")
|
||||
{
|
||||
print FILES_NSH " File $dir\\$_\n";
|
||||
}
|
||||
}
|
||||
closedir(DIR);
|
||||
}
|
||||
|
||||
close(FILES_NSH);
|
||||
|
||||
exit;
|
||||
|
||||
sub read_dir($$)
|
||||
{
|
||||
my ($absdir,$reldir) = @_;
|
||||
my @dirList;
|
||||
opendir(DIST, "$absdir");
|
||||
@dirList = readdir(DIST);
|
||||
closedir(DIST);
|
||||
foreach (@dirList)
|
||||
{
|
||||
next if ($_ eq "." || $_ eq "..");
|
||||
$absFileName = "$absdir\\$_";
|
||||
$fileName = ($reldir eq "") ? $_ : "$reldir\\$_";
|
||||
|
||||
if (-d $absFileName)
|
||||
{
|
||||
push @dirs, $fileName;
|
||||
read_dir($absFileName, $fileName);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
!define VERSION "v1.5"
|
||||
!define DISTDIR "d:\m\source\mozilla\dist\Embed"
|
||||
!include "local.nsh"
|
||||
|
||||
!define PRODUCT "Mozilla ActiveX Control ${VERSION}"
|
||||
|
||||
Name "Mozilla ActiveX Control ${VERSION}"
|
||||
|
||||
@ -11,16 +12,19 @@ DirText "This will install the Mozilla ActiveX Control ${VERSION} on your comput
|
||||
|
||||
Section "Mozilla Control (required)"
|
||||
|
||||
SetOutPath $INSTDIR
|
||||
File /r "${DISTDIR}\*.*"
|
||||
!include "files.nsh"
|
||||
|
||||
; TODO install MSVC++ redistributable DLLs - msvcrt.dll & msvcp60.dll
|
||||
|
||||
RegDLL mozctlx.dll
|
||||
RegDLL "$INSTDIR\mozctlx.dll"
|
||||
|
||||
WriteUninstaller Uninst.exe
|
||||
|
||||
SectionEnd
|
||||
|
||||
Section "uninstall"
|
||||
|
||||
UnRegDLL mozctlx.dll
|
||||
UnRegDLL "$INSTDIR\mozctlx.dll"
|
||||
Delete $INSTDIR\Uninst.exe
|
||||
RMDir /r $INSTDIR
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user