Recommended Posts

what i've been doing recently:

i've been trying to solve the prerequisite problem! i've been experimenting with the solution based around timestamps. i have a good framework setup, however the meat of the functionality is what i've been struggling with. you see, when NSIS gets a 'last modified' timestamp it's trying to access a 64bit number. NSIS can only handle 32bit numbers and so has to fetch it as two separate numbers. since the numbers are binary (and taken as signed numbers too) you can't just print out the decimal representation of each, one following the other because due to being thought to be two separate signed numbers they are converted to decimal from binary int he wrong way. so first of all i had to work out how to convert the numbers correctly. another spanner in the works was that i was comparing the result with one from PHP so i could make sure i ended up with the correct result, however win32 and PHP use two different epochs (reference point in time from which a measurement of time is taken), 369 years apart, which had a huge impact on the result when you consider that the results are represented as seconds, and this confused me for a while.

after i sorted that out, i then needed to work out how to do it in code, because actually i don't need to do such calculations in code, that was just to make sure i understood it all correctly. however firstly its much more complicated than a little maths if i do it in code, and second i hit another stumbling block first...

the second stumbling block is the difference between timestamps from a windows system using the FAT file system and the NTFS file system. NTFS stores all timestamps from UTC+0, whereas FAT stores all timestamps depending on the timezone and DST settings of the system. so, the complication this arises is now as well as fetching the timestamp and doing some maths, i've also got to do a system call to fetch the file system type, if FAT then get the timezone offset from UTC+0 and do more maths to convert the timestamp to UTC+0.

however the bigger problem is whether moving files around from system to system actually converts times to the timezone of the system it's then on.

also, now that the script is going to use 'setoverwrite ifnewer' to decide whether to overwrite files when installing, how does this problem introduced by NTFS filetimes affect this, or does NSIS grab the timezone settings of the machine the release is compiled on so it can compensate for the difference when doing the 'ifnewer' check...

the prerequisite check is getting a bit complicated, so i'm going to look at other easier solutions, however i still need to investigate the above somehow because it could affect the 'ifnewer' check.

the other solution i'm going to look at was suggested by TheGratefulNed above, as is extremely simple, we simply tack a number onto the filenames of the rti files and increment it with each release. just a three digit number would provide 1000 releases, we can do this individually for each line of releases so the number of different releases (2k/xp/2k3/vista/etc) have no effect. lets say we have 12 releases a year though and allow for say an average of 3 re-releases a year (mistakes and releases have to be released again), then 1000 / 15 would do us good for 66 1/2 years, and current windows editions are definataley going to be history by then.

the only issues, with dynamic file names, will i be able to get the script to find a future rti file with an unknown number attached, and will people compiling releases remember to increment the number with each new release.

one of today's releases failed to install due to not meeting prerequisites. KB935966 requires C:\WINNT\system32\dns.exe to be there. if a solution to the prerequisites problem is getting too complicated maybe a compromise solution can be found. can AP look at the error code returned by update.exe and at the end of installing all updates list those that failed due to prerequisites not being met? this would be an improvement as at the moment AP doesn't give any indication why an update failed.

@theblazingangel here is C:\WINNT\KB935966.log

[KB935966.log]
0.320: ================================================================================
0.320: 2007/05/08 22:53:31.677 (local)
0.350: f:\50a4f3de5b36b6bd33\update\update.exe (version 6.2.29.0)
0.380: Hotfix started with following command line: 
0.510:  C:\WINNT\system32\dns.exe is Not Present
0.510: Condition Check for Line 1 of PreRequisite returned FALSE 
0.550: ReadStringFromInf: UpdSpGetLineText failed: 0xe0000102
0.550: KB935966 Setup encountered an error:  Setup cannot continue because one or more prerequisites required to install KB935966 failed. For More details check the Log File c:\winnt\KB935966.log
0.590: ReadStringFromInf: UpdSpGetLineText failed: 0xe0000102
0.590: Setup cannot continue because one or more prerequisites required to install KB935966 failed. For More details check the Log File c:\winnt\KB935966.log
8.161: Message displayed to the user: Setup cannot continue because one or more prerequisites required to install KB935966 failed. For More details check the Log File c:\winnt\KB935966.log
8.161: User Input: OK
8.161: Update.exe extended error code = 0xf0f4
8.161: Update.exe return code was masked to 0x643 for MSI custom action compliance.

im running w2k

@gandolas checking for dns.exe should be ok..though there may be more than that as a prerequisite. the log file states that it failed the check for line 1 on my w2k setup so this implies there may be further checks. i can investigate further in a test environment..create a dummy dns.exe and run the update and see if there are more prerequisites. but i think just checking for dns.exe does the trick.

I don't know if any other user had this problem, but after installing the latest Cumulative Security Update for Internet Explorer 6 (KB931768) (from May 2007), the Windows Update site says that i need:

- KB867801 from 7/30/2004

- KB832894 from 2/2/2004

all of them also Cumulative Security Update for Internet Explorer!!

They have broken something with the latest hotfix...

Edited by gandolas

yes posted in The Hotfix Depot thread:

Windows Update found 3 new updates on W2K today (Tue. 8 May):

KB867801

KB931768

KB890830 Malicious software removal tool May 07

IE6.0sp1-KB931768-Windows2000-x86-ENU.exe installed fine. then did a restart as required.

MRT also installed fine.

but on running IE6.0sp1-KB867801-x86-ENU.exe it show message box "This update requires IE 6.0 service pack 1 to be installed" ?? i have IE 6.0 sp1 as my system is fully up to date. has WU given wrong info?...uncompressing IE6.0sp1-KB867801-x86-ENU.exe shows files dated 7 July 2004...an old update?

Two critial updates are released today, WU found 2, but kb867801 didnt work for me..

the update im missing ive found..Windows2000-KB935966-x86-ENU.EXE WU didnt list it...

WU didnt list KB832894...cumulative update thats what KB931768 is! ms have messed up here...

see recent post by @blaze, look like ms haven't included all updates in the latest IE6/7 cumulative update.

then again maybe its just a WU detection problem..

Edited by glutton4sw

I'm sure we could have sent you an outdated (February) version but we didn't. You'll receive May's version, don't worry. And I'm sure you were contacted by SteelTrepid (the CD sales manager) that explained you the situation. If you wanted your money back, you would get it.

You have to see that we are under a great stress, everyday people asking/demanding us to release a new version. If we don't release them, it's because they aren't ready.

And many times people forget that we aren't Microsoft. It's not our obligation to provide you this package. We do it because we want to help people, but many people don't realize that.

/rant off

Same as before:

Hotfix started with following command line: 
C:\WINDOWS\system32\snmp.exe is Not Present

so you have to create the following 2 bottom lines in the module:

(...)
[SystemComponents]
InternetExplorer=ANY
WindowsMediaPlayer=ANY
DotNetFramework=ANY
WindowsInstaller=ANY
MSNMessenger=ANY
ComponentFile=system:\snmp.exe
ComponentVersion=ANY
(...)

:)

Hi I am a new member to this forum but have been on this sight a lot for information and have used autopatcher for a while now so I would like to thank blaze and the others who have worked hard on this project, you sure have saved me many many hours of work. Its kind of funny actually, I wanted to do this very same thing and decided to look to see if it had indeed been done and what do you know I found autopatcher. I was like thank God I don't have to do all this work haha. I am a computer tech and I do some programming using the dot net framework so if I can do anything at all please by all means let me know. I think it is wonderful what yall are doing. Anyways thanks for the hard work and dedication to something you choose to do on your own. You may run into problems and what not and impatient people, but there are a lot of very appreciative folks out there like me. Take all the time you need because I know the outcome is going to be great and will save me many more hours of work. Job well done guys...

David Wilkerson

Blaze, you may want to look at this before the next release.

It fixes the problem with MSVHOST taking 100% CPU resources (Windows Update)

(this problem has been getting worse for the last 2 months)

It will ship on May 22nd but is being issued on MSDN right now.

I downloaded and installed without problem and it fixed the CPU usage.

http://support.microsoft.com/?kbid=927891

http://download.windowsupdate.com/v7/windo...Agent30-x86.exe

@rscomp, already got it

@everyone

ok, a few days ago a member of the autopatcher office team contacted me about something which resulted in me making another change to all the modules in the new releases, so that took a bit of time. i'm glad though because i found i hadn't made a previous change to modules in the addon packs which would have broken them.

then i found a problem with my install script when run in silent mode, i didn't realise that most of my functions were being skipped so i spent a day re-writing code to fix the problem and really improved a chunk of code in the process.

after that i decided a message box was definitely not good enough for prerequisite error messages so i've designed a custom page for that and done a bunch of work towards the framework of the prerequisite check.

tomorrow i need to spend loads of time driving because i'm retaking my driving test the day after. then the day after that it's my 21st and i have relatives coming over. i will be working on autopatcher at every opportunity i get though as usual.

all i have left to do is complete this darn prerequisite check and then it's sorted.

but it's not so easy. firstly i have realized that whatever solution i go with it needs to involve a version number of some sort, i was going to go with a three digit number that could be incremented with each release, but now i've realised thats no good because someone could easily make a mistake and to get the number of a previous release you would need access to the previous release which isn't good for someone taking over from someone else. instead i will go with an eight digit number representing the year, month, and then version e.g. 20070502 would be used for a release created in year 2007, month 05, and this is the second (or maybe third) version/edition meaning the user had to re-release it (e.g. like gandolas' vista release this month).

anyway, the bigger problem is what the solution will be

1) timestamps i previously ruled out because of issues surrounding NTFS/FAT timestamp conflicts, that however no longer seems to be an issue after all, buts it's still a pretty complex solution anyway so i'm ruling it out.

2) put a version in the filename of rti files

3) put a version in the summary field of rti files

4) put a version in separate .ver files, one will accompany each rti file

i won't go into much details, but choosing which of the remaining three solutions to go with is really complicated because it has such a big impact on the script, as well as the person creating the release. all solutions have good and bad points. once i know what i'm doing i should be able to hack it in and finalise the script within a couple of days.

i'm still extremely confident that it will be released this month and fairly soon.

Good luck with your driving test, took mine in Manchester 41 years ago, LOT less traffic.

Relax and pass, that's what I was told.

Almost failed my test here in the USA, left the test station driving on the left hand side, the tester laughed and said "we drive on the right hand side here, give it a try"

All the best.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Zen Browser 1.21b by Razvan Serea Zen Browser is a privacy-focused, open-source web browser built on Mozilla Firefox, offering users a secure and customizable browsing experience. It emphasizes privacy by blocking trackers, ads, and ensuring your data isn't collected. With Zen Mods, users can enhance their browser experience with various customization options, including features like split views and vertical tabs. The browser is designed for efficiency, providing fast browsing speeds and a lightweight interface. Zen Browser prioritizes user control over the browsing experience, offering a minimal yet powerful alternative to traditional web browsers while keeping your online activity private. Zen Browser’s DRM limitation Zen Browser currently lacks support for DRM-protected content, meaning streaming services like Netflix and HBO Max are inaccessible. This is due to the absence of a Widevine license, which requires significant costs and is financially unfeasible for the developer. Additionally, applying for this license would require Zen to be part of a larger company, similar to Mozilla or Brave. Therefore, DRM-protected media won't be supported in Zen Browser for the foreseeable future. Zen Browser offers features that improve user experience, privacy, and customization: Privacy-Focused: Blocks trackers and minimizes data collection. Automatic Updates: Keeps the browser updated with security patches. Zen Mods: Customizable themes and layouts. Workspaces: Organize tabs into different workspaces. Compact Mode: Maximizes screen space by minimizing UI elements. Zen Glance: Quick website previews. Split Views: View multiple tabs in the same window. Sidebar: Access bookmarks and tools quickly. Vertical Tabs: Manage tabs vertically. Container Tabs: Separate browsing sessions. Fast Profile Switcher: Switch between profiles easily. Tab Folders: Organize tabs into folders. Customizable UI: Personalize browser interface. Security Features: Inherits Firefox’s robust security. Fast Performance: Lightweight and optimized for speed. Zen Mods Customization: Deep customization with mods. Quick Access: Easy access to favorite websites. Open Source: Built on Mozilla Firefox with community collaboration. Community-Driven: Active development and feedback from users. GitHub Repository: Contribute and review the source code. Zen Browser 1.21b changelog: New Features Updated to Firefox 151.0.4 Added 'Space Routing', a new feature that allows you to route links to a specific Space. To get started, click on the three dots in your Space name and click on 'Space Routing Settings'. Fixes Fixed extension-opened tabs not being created with the correct container (#14100) Fixed a bug with the Boosts editor having the wrong theme colors (#14099) Improved overflowing space icons being inaccessible and improved the feeling when hovering over them (#13747) Other minor bug fixes and improvements Download: Zen Browser | 89.8 MB (Open Source) Download: Zen Browser ARM64 | Other Operating Systems View: Zen Browser Home Page | Screenshots 1 | 2 | Reddit Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • I am currently using a 4tb stick in combination with a 4tb 9100 Pro. It's only been six months since I bought them but the 990 has already dropped 1% health. Fingers crossed it doesn't go any lower.
    • But it opens the floodgates to anyone who gets a refund instead of a replacement (since refund will buy you a 1/3rd of the capacity it did years ago)
    • He has planned to file a lawsuit in small claims court so it'll only be a $1000 lesson assuming he wins. That's likely a fraction of what Samsung spends on toilet paper on a daily basis.
    • Windows Server gets DNS over HTTPS (DoH) support by Usama Jawad For the past few months, Microsoft has been previewing DNS over HTTPS (DoH) for Windows DNS Server, touting it as a foundational upgrade for zero-trust enterprise networks. It essentially introduces encrypted, authenticated DNS for the networks rather than transmitting DNS traffic in clear. Now, the company has introduced the general availability (GA) of this feature. The GA of DoH encourages organizations to deploy the solution in production environments without implementing a new client-to-resolver architecture. DoH helps improve the overall security of the network and reduces the risk of spoofing due to its zero-trust design. This is a significant change because pretty much every interaction with the network requires interfacing with DNS. DoH offers several advantages over standard DNS traffic, such as encryption using HTTPS, preventing unauthorized inspection, man-in-the-middle attacks, and traffic analysis. Since it leverages TLS certificates so that clients can verify the identity of the DNS server, it prevents spoofing through this authentication mechanism. Additionally, it's built on the DoH standard defined by the Internet Engineering Task Force (IETF), which means that it should work with modern RFC 8484-compliant clients. Finally, it integrates into the existing network architecture seamlessly and can even run in parallel with standard DNS, so that customers can migrate to the new technology at their own pace. Microsoft says that in the past few months of preview, DoH has become more stable, and customers can confidently deploy it in production environments with proper guidance. Microsoft has emphasized that migrating to DoH is necessary for organizations that are moving toward zero-trust DNS solutions. Windows clients already support DoH, but the latest availability on Windows Server provides encrypted DNS to all endpoints. The company has also mentioned that "while this release focuses on encrypting client-to-resolver communication, support for encrypted communication between Windows DNS Server and upstream DNS resolvers is planned for a future update." You can follow Microsoft's guidance to deploy DoH here, but keep in mind that you need a Windows Server 2025 installation with the latest Patch Tuesday updates installed.
  • Recent Achievements

    • Week One Done
      davidbazooked earned a badge
      Week One Done
    • One Month Later
      Jamswaz earned a badge
      One Month Later
    • Week One Done
      Jamswaz earned a badge
      Week One Done
    • Rookie
      Marzoid went up a rank
      Rookie
    • Community Regular
      coch went up a rank
      Community Regular
  • Popular Contributors

    1. 1
      +primortal
      511
    2. 2
      PsYcHoKiLLa
      185
    3. 3
      +Edouard
      159
    4. 4
      Steven P.
      83
    5. 5
      ATLien_0
      75
  • Tell a friend

    Love Neowin? Tell a friend!