diff options
author | Piotr Strzelczyk <piotr@eps.gda.pl> | 2009-09-05 14:42:48 +0000 |
---|---|---|
committer | Piotr Strzelczyk <piotr@eps.gda.pl> | 2009-09-05 14:42:48 +0000 |
commit | 4eaa282a54305411f6cd6401919ce5b19b87e32d (patch) | |
tree | 7ba57447aec7f76b4063e6329662914516b6eb34 | |
parent | 2f68c25fac82cff47088eabec70aecaff0d00be1 (diff) |
allow for side-by-side installation different releases
git-svn-id: svn://tug.org/texlive/trunk@15131 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf/scripts/texlive/uninstall-win32.pl | 2 | ||||
-rw-r--r-- | Master/tlpkg/TeXLive/TLWinGoo.pm | 26 |
2 files changed, 14 insertions, 14 deletions
diff --git a/Master/texmf/scripts/texlive/uninstall-win32.pl b/Master/texmf/scripts/texlive/uninstall-win32.pl index 6bc34ba67e3..f7a6da352b8 100644 --- a/Master/texmf/scripts/texlive/uninstall-win32.pl +++ b/Master/texmf/scripts/texlive/uninstall-win32.pl @@ -73,7 +73,7 @@ sub doit { # from_dvd case: # unsetenv_reg("TEXMFSYSVAR"); unsetenv_reg("TEXMFCNF"); - unregister_uninstaller(); + unregister_uninstaller($localtlpdb->option("w32_multi_user")); exit if is_vista(); broadcast_env(); update_assocs(); diff --git a/Master/tlpkg/TeXLive/TLWinGoo.pm b/Master/tlpkg/TeXLive/TLWinGoo.pm index 9df4804690d..a0b5122548f 100644 --- a/Master/tlpkg/TeXLive/TLWinGoo.pm +++ b/Master/tlpkg/TeXLive/TLWinGoo.pm @@ -140,6 +140,7 @@ BEGIN { } } +use TeXLive::TLConfig; use TeXLive::TLUtils; TeXLive::TLUtils->import( qw( mkdirhier ) ); @@ -1045,21 +1046,23 @@ sub create_uninstaller { my $uninst_key = $Registry -> Open((admin() ? "LMachine" : "CUser") . "/software/microsoft/windows/currentversion/", {Access => KEY_ALL_ACCESS()}); - my $k = $uninst_key->CreateKey("uninstall/TeXLive/"); - $k->{"/DisplayName"} = "TeXLive ".$::texlive_release; + my $k = $uninst_key->CreateKey( + "uninstall/TeXLive$::TeXLive::TLConfig::ReleaseYear/"); + $k->{"/DisplayName"} = "TeX Live $::TeXLive::TLConfig::ReleaseYear"; $k->{"/UninstallString"} = "\"$tdw\\tlpkg\\installer\\uninst.bat\""; - $k->{'/DisplayVersion'} = $::texlive_release; + $k->{'/DisplayVersion'} = $::TeXLive::TLConfig::ReleaseYear; $k->{'/URLInfoAbout'} = "http://www.tug.org/texlive"; mkdirhier("$tdwfw/tlpkg/installer"); # wasn't this done yet? if (open UNINST, ">$tdwfw/tlpkg/installer/uninst.bat") { print UNINST <<UNEND; \@echo off +setlocal rem This should not be necessary, but sometimes it is: path $td\\tlpkg\\tlperl\\bin;$td\\bin\\win32;%path% set PERL5LIB=$td\\tlpkg\\tlperl\\lib perl.exe \"$td\\texmf\\scripts\\texlive\\uninstall-win32.pl\" -if errorlevel 1 exit +if errorlevel 1 goto :eof copy \"$tdw\\tlpkg\\installer\\uninst2.bat\" \"\%TEMP\%\" rem pause \"\%TEMP\%\\uninst2.bat\" @@ -1122,16 +1125,13 @@ Removes TeXLive from Add/Remove Programs. =cut sub unregister_uninstaller { - my $regkey_uninst; - $regkey_uninst = $Registry->Open( - "CUser/software/microsoft/windows/currentversion/uninstall/", + my ($w32_multi_user) = @_; + my $regkey_uninst_path = ($w32_multi_user ? "LMachine" : "CUser") . + "/software/microsoft/windows/currentversion/uninstall/"; + my $regkey_uninst = $Registry->Open($regkey_uninst_path, {Access => KEY_ALL_ACCESS()}); - reg_delete_recurse($regkey_uninst, 'texlive/') if $regkey_uninst; - return unless admin(); - $regkey_uninst = $Registry->Open( - "LMachine/software/microsoft/windows/currentversion/uninstall/", - {Access => KEY_ALL_ACCESS()}); - reg_delete_recurse($regkey_uninst, 'texlive/') if $regkey_uninst; + reg_delete_recurse($regkey_uninst, "TeXLive$::TeXLive::TLConfig::ReleaseYear/") + if $regkey_uninst; } =pod |