Jump to content

Dumpy Dooby

Member
  • Posts

    441
  • Joined

  • Last visited

  • Donations

    0.00 USD 
  • Country

    United States

Everything posted by Dumpy Dooby

  1. Oh really? I thought you and YumeYao were doing something with the MST that required an update every time there's a new hotfix release. If what you're saying is correct, then awesome. I'm all set then. I was able to export the data from the MST, by the way. I saw the VBS files. I actually just got them extracted from it and I was looking to see what I needed to modify to make it work right. I'm glad I decided to stop by this thread first because I've now learned that I don't need to change anything! Yay! Thanks for the info.
  2. Try using Universal Extractor. If that doesn't work, just do what Grake said.
  3. Oh wow. Quite the coincidence that you and I both happened to bring this up now after being long-time users of WPI. I guess it's just that time of the year or something. lol. I'm handy enough with VBScript and JavaScript to do a complete rewrite if I wanted to, but I'd rather just modify what the WPI guys have already built.
  4. It'd be nice if there was a version of WPI that didn't cater so much to the configuration end of things. I can configure WPI just fine and dandy without a fancy interface. I'm comfortable with editing config.js manually. I'm still using a super old version of WPI because I'm just not a fan of the all the bells and whistles that have been in it since version 5. But what I DO like are some of the new end-user interface features, like the pretty little progress window (though I'd prefer the media player to be invisible). Anyway, wasn't there, at one point or another, a "Lite" version of WPI that was basically just slimmed down by removing all of the superfluous administrative stuff (like the "silent install finder")? If there isn't one or whatever, would be OK if I make one?
  5. Ugh. I can't figure out what WUFIXES.MST does, exactly, so I can modify it to support the newest update. I got the update applied to the MSI just fine, but I don't know what changes need to be made to WUFIXES.MST. :\
  6. Yeah, I'm using 4.5.6001.22159. If I let MSIEXEC create the log file, then this doesn't happen, even when subsequent installations append to it. It's only when I create the log file beforehand. Maybe it's an encoding issue. Anyway, it's not a big deal. I just figured I'd ask you in case you knew. It's something I can easily overcome just by making a few adjustments to my installation routine.
  7. Yeah, I perused a verbose log file and saw that an "OEM" instance will always trigger a DisableRollback. I had tried setting those registry keys before, but that didn't work. I set the registry keys, and then changed the permission on them to prevent the "SYSTEM" account from writing to them, and that didn't work either. The only option I can think of would be to remove all of the checks from the MSI itself (via MST or otherwise), but then I have a feeling that the installation of the frameworks will fail because of its inability to commit custom actions. And yeah, I use /qn. My previous post only showed what public properties I was setting. The full command line would look something more like this (in a batch file): msiexec.exe /qn /l*v+ "%SystemRoot%\RSRTerr.log" /i "%~dp0dotNET20SP2\Netfx20a_x86.msi" ADDEPLOY=1 ARPSYSTEMCOMPONENT=0 ARPNOMODIFY=0 ARPNOREPAIR=0 REBOOT=ReallySuppress FASTOEM=1 ALLUSERS=1 DISABLEROLLBACK=0 CURRENTDIRECTORY="%~dp0dotNET20SP2" MEDIAPACKAGEPATH="%~dp0dotNET20SP2" ROOTDRIVE="%~d0" I'll play with the MSI a bit and see what I can do. On a side note, using the "+" directive for the logging switch does append the log file, but it seems to be inserting a NULL as every other character. I have to do a regex find/replace for \x00 (hex value for NUL). Any idea why it does that? Is there a specific encoding that you know that I should be using when creating that file? I'm only asking because you seem to know your way around MSI deployment; figured you might know.
  8. [edit] Let me preface this post by saying that it has nothing to do with your program. I'm merely using this thread as a public place to ask you a question, and I didn't think my question warranted a thread all to itself. [/edit] Hey strel, do you know if there is an easy way to override the rollback setting for the .NET Frameworks? The reason I ask is because the installation time could be decreased tremendously if we could get FASTOEM to work with these (I'd recommend making it conditioned on whether the user is running the installation during a system setup, i.e., from svcpack or first boot; on a live installation, you don't want to use FASTOEM). FASTOEM forces the installation routine to disable the creation of a rollback script. The .NET Frameworks look for the rollback script, and if it isn't there, they exit so as not to have a broken installation. Obviously there would be no such broken installation if it's being run from SVCPACK and the like. Additionally, disabling the rollback script also disables "commit custom actions," which is why .NET Frameworks are freaking out. If there is a way to re-enable rollbacking via an MST or something, that would be wonderful. These are the public properties that I set: ADDEPLOY=1 ARPSYSTEMCOMPONENT=0 ARPNOMODIFY=0 ARPNOREPAIR=0 REBOOT=ReallySuppress FASTOEM=1 ALLUSERS=1 DISABLEROLLBACK=0 CURRENTDIRECTORY="C:\Test\Runtimes\dotNET20\" MEDIAPACKAGEPATH="C:\Test\Runtimes\dotNET20\" ROOTDRIVE=C:\ As you can see, I tried overriding FASTOEM's preference to disable the rollback script by manually disabling the DISABLEROLLBACK property, but that didn't work because FASTOEM is always processed last in the public property check. In my above example, I was trying to do it with .NET Framework. As expected, the installer exited with an error, "You must enable rollback to continue with setup." So any thoughts on this one? I'm thinking it's impossible because FASTOEM moves files instead of copying them, which means that a rollback script would be next to impossible to manage. But if you have any suggestions, I'm all ears.
  9. What if he tried?: Start "" "[path-to-ngen]\ngen.exe" Then it won't wait for ngen.exe to finish, but it can still run in the background. Would that have any negative effects?
  10. http://xp.xpdnc.org/Incredimail.7z MD5: 23bd34c2b23bd9991e553a2b3e8af15d I only extracted the setup files and then did an Admin install. You're on your own from here. Just look up instructions for creating a silent installer of an MSI. It's pretty simple.
  11. ^ Did you check to see if there were hanging instances of MsiExec or anything? I'm not sure what Ngen.exe does, but you might consider looking for it as well. It might also be looking for some sort of user interaction. To check this, rename INSTALL.CMD to INSTALL2.CMD. Create a new INSTALL.CMD with this: @Echo Off "%~dp0install2.cmd">>dotNET35SP1.log That will direct all output from his script to the log file. So if the last line in the log is "Are you sure you want to..." or something like that, then you know why it's hanging. That's what I'd suggest doing if you want to try troubleshooting it yourself. Otherwise you can wait for Strel and he might have some more useful tips.
  12. I use InstallShield to preapply the MSTs directly to the MSI files so that shouldn't be a problem. You did give me an idea, though. I'll try copying vs_setup.MSI file to %SystemRoot%\Installer\{GUID HERE}\. Or perhaps even try copying vs_setup.MSI to the installer folder and replacing the MSI that's generated by the installer itself. For good measure, I'll also try putting the MSTs in there too, just in case they're needed. I have no idea if these tests will work, but I'll see what happens. Also, thanks for the link to the cleanup tool. I'll try using that, but all of my tests have been on a perfectly clean install. I dunno, though. It might still make a difference. Thanks man.
  13. Your program yielded this fancy install.CMD file for me... :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: :: :: Installer created with :: :: Silent .NET Maker synthesized 20090922 :: :: http://www.msfn.org/board/index.php?showtopic=127790 :: :: :: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION SET VERBOSITY=passive SET SWITCH=%1 IF /I "%SWITCH:~-4%"=="sive" (SET VERBOSITY=passive) ELSE IF /I "%SWITCH:~-4%"=="uiet" (SET VERBOSITY=quiet) ELSE IF /I "%SWITCH:~-4%"=="lent" SET VERBOSITY=quiet IF NOT EXIST FILEVER.vbs ( ECHO>>FILEVER.vbs Set objFSO = CreateObject^("Scripting.FileSystemObject"^) ECHO>>FILEVER.vbs Wscript.Echo objFSO.GetFileVersion^(WScript.arguments^(0^)^) ) FOR /F "DELIMS=. TOKENS=1" %%I IN ('CSCRIPT //NOLOGO FILEVER.vbs "%SYSTEMROOT%\SYSTEM32\MSI.DLL"') DO IF /I "%%I"=="2" ( IF /I "%VERBOSITY%"=="passive" SET VERBOSITY=qb! IF /I "%VERBOSITY%"=="silent" SET VERBOSITY=qn IF /I "%VERBOSITY%"=="quiet" SET VERBOSITY=qn ) SET SYS2K=1 IF EXIST %SYSTEMROOT%\system32\reg.exe ( SET SYS2K= FOR /F "DELIMS=" %%I IN ('%SYSTEMROOT%\system32\REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName') DO ECHO>DNFWIN1.TXT %%I FOR /F %%I IN ('FINDSTR/I "2000" DNFWIN1.TXT') DO SET SYS2K=1 ) IF NOT DEFINED SYS2K FOR /F "TOKENS=3" %%I IN ('REG QUERY "HKLM\SYSTEM\Setup" /v SystemSetupInProgress') DO SET SSIP=%%I IF /I "%SSIP%"=="0x1" ( REG DELETE "HKLM\SOFTWARE\Microsoft\PCHealth\ErrorReporting\DW" /f REG ADD "HKLM\SYSTEM\Setup" /v SystemSetupInProgress /t REG_DWORD /d 0 /f ) IF EXIST *.TXT DEL /F *.TXT XCOPY/DY DNF30\SYS32\rgb9rast_2.dll %SYSTEMROOT%\system32 %SYSTEMROOT%\system32\regsvr32 /s %SYSTEMROOT%\system32\rgb9rast_2.dll START/WAIT DNF30\WIC\update\update.exe /%VERBOSITY% /norestart START/WAIT DNF30\XPS\update\update.exe /%VERBOSITY% /norestart NET STOP MSIServer COPY /Y REMFONTCACHEFIX.mst DNF30 START/WAIT DNF30\Netfx30a_x86.msi /l*v "%TEMP%\NETFX30install.log" TRANSFORMS=REMFONTCACHEFIX.mst;NETWUFIXES.mst ADDEPLOY=1 ARPNOMODIFY=0 ARPNOREPAIR=0 /%VERBOSITY% /norestart FOR /F "TOKENS=3" %%I IN ('REG QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\0DC1503A46F231838AD88BCDDC8E8F7C\InstallProperties" /V UnfixedDBName^|FINDSTR "UnfixedDBName"') DO REN %%I 39d3e.msi REG DELETE "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\0DC1503A46F231838AD88BCDDC8E8F7C\InstallProperties" /V UnfixedDBName /F %SYSTEMROOT%\REGEDIT /E DNFWIN2.TXT "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" TYPE DNFWIN2.TXT>DNFWIN3.TXT FINDSTR/R "\[" DNFWIN3.TXT>DNFWIN4.TXT FOR /F %%I IN ('FINDSTR/IR "\.KB958483" DNFWIN4.TXT') DO ECHO>>DNFWIN3.TXT %%I FOR /F "DELIMS=[]" %%I IN (DNFWIN5.TXT) DO REG DELETE "%%I" /f START/WAIT DNF35\vs_setup.msi /l*v "%TEMP%\NETFX35install.log" TRANSFORMS=NETWUFIXES.mst;NOFFADDONFIX.mst ADDEPLOY=1 ARPNOMODIFY=0 ARPNOREPAIR=0 /%VERBOSITY% /norestart FOR /F "TOKENS=3" %%I IN ('REG QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\26DDC2EC4210AC63483DF9D4FCC5B59D\InstallProperties" /v UnfixedDBName^|FINDSTR "UnfixedDBName"') DO REN %%I 39d44.msi REG DELETE "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\26DDC2EC4210AC63483DF9D4FCC5B59D\InstallProperties" /v UnfixedDBName /f REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{CE2CDD62-0124-36CA-84D3-9F4DCF5C5BD9}" /v SystemComponent /t REG_DWORD /d 0 /f REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\26DDC2EC4210AC63483DF9D4FCC5B59D\InstallProperties" /v SystemComponent /t REG_DWORD /d 0 /f %SYSTEMROOT%\REGEDIT /E DNFWIN2.TXT "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" TYPE DNFWIN2.TXT>DNFWIN3.TXT FINDSTR/R "\[" DNFWIN3.TXT>DNFWIN4.TXT FOR /F %%I IN ('FINDSTR/IR "\.KB953595" DNFWIN4.TXT') DO ECHO>>DNFWIN6.TXT %%I FOR /F %%I IN ('FINDSTR/IR "\.KB958484" DNFWIN4.TXT') DO ECHO>>DNFWIN6.TXT %%I FOR /F "DELIMS=[]" %%I IN (DNFWIN6.TXT) DO REG DELETE "%%I" /f IF /I "%SSIP%"=="0x1" ( FOR /F "DELIMS=" %%I IN ('ECHO %PROGRAMFILES%\Common Files\Microsoft Shared') DO SET SHD=%%~sI REG ADD "HKLM\SYSTEM\Setup" /v SystemSetupInProgress /t REG_DWORD /d 1 /f REG ADD "HKLM\SOFTWARE\Microsoft\PCHealth\ErrorReporting\DW\Installed" /v DW0200 /t REG_SZ /d !SHD!\DW\DW20.EXE /f ) %SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\ngen.exe executequeueditems I perused it a bit to try and find out what was causing my problems with my uninstallers not working, and I noticed this... %SYSTEMROOT%\REGEDIT /E DNFWIN2.TXT "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" TYPE DNFWIN2.TXT>DNFWIN3.TXT FINDSTR/R "\[" DNFWIN3.TXT>DNFWIN4.TXT FOR /F %%I IN ('FINDSTR/IR "\.KB958483" DNFWIN4.TXT') DO ECHO>>DNFWIN3.TXT %%I FOR /F "DELIMS=[]" %%I IN (DNFWIN5.TXT) DO REG DELETE "%%I" /f Specifically, I think... FOR /F %%I IN ('FINDSTR/IR "\.KB958483" DNFWIN4.TXT') DO ECHO>>DNFWIN3.TXT %%I is actually supposed to be... FOR /F %%I IN ('FINDSTR/IR "\.KB958483" DNFWIN4.TXT') DO ECHO>>DNFWIN5.TXT %%I Is that correct? By the way, I don't think this has anything to do with my broken uninstaller (since I don't actually use install.cmd). It's just something I noticed while I was looking through the file.
  14. It's all during uninstall. I went into ARP and clicked "Remove" for .NET Framework 3.5 SP1. Then it popped up that error box. I'm going to have my 7zip extract the files to "%CommonProgramFiles%\Repackaged Installers\Microsoft .NET Framework 3.5 SP1" and see if that makes a difference. I figure at least the files would be available. I included the Regedit window in the background so that you can see that it's caused because the "InstallSource" directory is set to the temp folder indicated in the error. I also went into "%SystemRoot%\Installer\" and attempted to manually run the .NET FW 3.5 MSI (I don't recall the name; random hex characters like 3d8af.msi ... I just looked at the version info until I found the right one) that's in there to uninstall, but that didn't work either.
  15. New error. Looks like I've made progress though. Is this easy to fix?
  16. I'm using RogueSpear's install script. I removed the installation of WIC from it because you said earlier that it's not needed with SP3. I also removed the installation of RGB9RAST_x86.msi, preferring instead to manually copy the DLL and register it (this is done by the SFX). The meat and potatoes of the install script are as follows: ws.Run("dotNET30SP2\XPSEPSC-x86-en-US\update\update.exe " & txtArg2 & " /nobackup /norestart"),0,True ws.Run("msiexec.exe /i dotNET30SP2\Netfx30a_x86.msi " & txtArg1 & " REBOOT=ReallySuppress"),0,True ws.Run("WaitNET.exe " & txtArg1),0,True ws.Run("msiexec.exe /i dotNET35SP1\vs_setup.msi " & txtArg1 & " REBOOT=ReallySuppress"),0,True ws.Run("WaitNET.exe " & txtArg1),0,True ws.Run("regedit.exe /s KB959209.reg"),0,True ws.Run("dotNET35SP1\KB971276\update\update.exe " & txtArg2 & " /nobackup /norestart"),0,True ws.Run("dotNET35SP1\KB961118\update\update.exe " & txtArg2 & " /nobackup /norestart"),0,True ws.Run("dotNET35SP1\KB971314\update\update.exe " & txtArg2 & " /nobackup /norestart"),0,True ^where "txtArg1" and "txtArg2" are "/qb" and "/passive" Here are my MSIs: http://xp.xpdnc.org/files/WIP/vs_setup.msi http://xp.xpdnc.org/files/WIP/Netfx30a_x86.msi I've created half a dozen or so, using various methods and source files. The above ones, though, were taken directly from the official 231MB "dotnetfx35.exe" file from Microsoft. I then processed the files using Strel's program. Afterwards I ditched his install.cmd script, applied the transforms to the MSIs permanently, and used the installation script seen above. I've also tried following the guide on an untampered vs_setup.msi without using Strel's program, just doing it manually with InstallShield, but that didn't work out either. And I tried following the guide on RogueSpear's vs_setup.msi file ... again, didn't work. All of these methods seem to install it just fine. I've tested with various .NET programs (including Paint.NET). The problem is that none of them yield a product that is uninstallable. How difficult would it be for me to just take your package from the first post and make it uninstallable? Do you know what I would need to do to accomplish that?
  17. CSCRIPT /NOLOGO 35SP1SLIMMING.vbs Should be... CSCRIPT //NOLOGO 35SP1SLIMMING.vbs You forgot the extra slash on that line (776).
  18. Dang. I can't get this thing to be uninstallable. I even downloaded your (YumeYao) version from the first post, removed .NET 2.0 (because I install it earlier), and tried that on a fresh system (with only .NET 2.0 installed), and it still won't uninstall afterwards.
  19. Only 1.4 alpha (build 1501).Method PPMd was supported always! OK, I understand now. My mistake was that I forgot that the "Dialogs" one was LZMA-only. I made a 7zSD_All_Dialogs.sfx, and it seems to be working fine. Thanks!
  20. Any plans to add support for LZMA2 or PPMd? I've started embedding 9.04 versions of 7z.exe inside of my SFX archives and extracting the files that way.
  21. Well, all of those applications ran smoothly, so I guess it's safe to assume it installed just fine. The only problem is that none of my .NET Frameworks are uninstallable.
  22. Good estimation. That's exactly what it is. 18.5MB 7zip, and about 19MB after turning it into an SFX. Your method removes HtmlLite.dll, WapUI.dll, and a bunch of other files (including more DLLs) from the root directory of the MSI. Is this intentional? Are there any negative impacts as a result of this, or were these just more redundant entries? I'm about to attempt a RunOnceEx installation of this bad boy on a freshly formated VM. Afterwards I will try uninstalling it from Add/Remove Programs. We'll see how it goes. Does anyone know of any v3.5 applications that I can use to test and make sure everything installed successfully?
  23. I don't understand the point of your Call command. That seems superfluous. How come you do it like that instead of just using "Set HostOs=%%a" ? I've revised mine per your recommendation of using Caption instead of Name. Works better because it doesn't have that nasty pipe. FOR /f "tokens=*" %A in ('wmic os get caption^, version /format:list') Do Set %A @Echo %Caption% [%Version%]
  24. Windows XP Professional FOR /f %%A in ('wmic os get name^, version /format:list') Do Set %%A I'm not sure if that will work on Vista or Windows 7. But anyone using either of those should consider upgrading to Windows XP anyway.
  25. RogueSpear's latest .NET 3.5 Lite release (which omits .NET 2.0 SP2 and MSXML 6 Service Pack 2) is 28MB. Using your method, could his "Lite" installer be slimmed down even more? I'm not sure I really get what it is that you've accomplished, but judging by your excitement, I'm assuming it's something worthwhile.
×
×
  • Create New...