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

    • Actually, I think even Microsoft doesn't know how to control it
    • OpenAI is making Codex more useful in Chrome and the cloud by Pradeep Viswanathan OpenAI's Codex now has more than 5 million users, up nearly 4x from earlier this year. To further accelerate Codex's growth among developers, OpenAI today announced that it has agreed to acquire Ona, a company that builds secure cloud execution and orchestration technology for developers. Ona will enable developers to run Codex with persistent and controlled cloud infrastructure for long-running agentic workflows. Right now, most Codex execution happens locally on developers' laptops and PCs, and the agents work continuously for hours. Through Ona, OpenAI aims to make Codex agents keep working for days without being tied to a user’s local machine or an active session. This will be an important capability for enterprises that want to deploy AI agents in production while maintaining control over infrastructure, data, security boundaries, credential scope, logging, and review workflows. Like any acquisition, the deal is still subject to customary closing conditions, including regulatory approvals. Until the deal closes, OpenAI and Ona will continue to operate as separate companies. After closing, Ona’s team will join the Codex team to improve developer workflows. Alongside the Ona acquisition announcement, OpenAI today introduced a few Codex updates. Developers can now save Codex rate limit resets and use them later instead of losing them when they are not needed immediately. OpenAI is also adding a referral option where users can invite a friend to Codex and get a saved rate limit reset. OpenAI today also announced a developer mode for browser use in Chrome and the Codex in-app browser. With this mode, Codex can use the Chrome DevTools Protocol to debug web apps, inspect pages, and work more directly with browser-based development workflows. Developers can use this when they want Codex to profile JavaScript, inspect console output and network traffic, examine web page states including the DOM and applied styles, and more.
    • Camtasia 2026.1.3 by Razvan Serea TechSmith Camtasia is the complete professional solution for high-quality screen recording, video editing and sharing. Camtasia 2026 makes editing your videos easier, and faster than ever. The new editor is packed with enhanced video processing, all-new production technology, an innovative library, and stock videos and other creative assets to help you create more polished, professional videos. No video experience needed. Anyone can create informative, engaging videos. Create professional, eye-catching videos: Add special video effects - Apply Behaviors that are perfectly designed to animate your text, images, or icons. Get a crisp, polished look without being a professional video editor. Drag-and-drop your edits - What you see is what you get. Every effect and element in your video can be dropped and edited directly in the preview window. And you can edit at resolutions up to beautiful 4K, for clear video at any size. Get exceptional performance - Camtasia takes full advantage of your computer’s processor with 64-bit performance. You’ll get fast rendering times and enhanced stability—even on your most complex projects. Camtasia 2026.1.3 changelog: Feature Updates Improved keyboard navigability in tool panels. Improved screen reader accessibility of headings in Preferences. Tool panels can now be resized using a keyboard-navigable control. Updated color of folder icon in User Library tab for better visibility. Grouped media now render a composite waveform considering all audio media within that group. Added Long Path Aware to the manifest of Editor and Recorder. Performance Improvements Improved performance for editing groups on the timeline. Improved the project loading performance when timeline has lots of trec media with cursor data. Updates for IT Administrators Updated cpp-httplib from 0.38.0 to 0.43.3. Updated expat from 2.7.4 to 2.8.0. Updated freetype from 2.13.3 to 2.14.3. Updated harfbuzz from 13.0.1 to 14.2.0. Updated libpng16 from 1.6.55 to 1.6.58. Updated pango from 1.57.0 to 1.57.1. Updated girepository from 2.86.3 to 2.88.0. Updated pcre2-posix from 10.47.0 to 12.0.2. Added new harfbuzz-gpu.dll. Updated FFmpeg from 7.1.1 to 7.1.2. Updated aom from 3.11.0 to 3.13.1. Updated dav1d from 1.5.0 to 1.5.1. Updated ogg from 1.3.5 to 1.3.6. Updated SDL2 from 2.32.4 to 2.32.10. Updated zlib from 1.3.1 to 1.3.2. Updated Nalpeiron binaries to version 4.4.69.3. Bug Fixes Fixed an issue which prevented some user submitted crash reports from being sent. Fixed a potential memory leak when decoding HEVC or VP9 video. Fixed a potential crash when trying to delete a range selection on a magnetic track. Fixed a bug with the Properties Panel showing stale properties when only a caption is selected on the timeline. Fixed an issue that could prevent the Opacity and Blur properties from being changed in the Background Removal effect. Fixed an issue where larger Camtasia online projects may fail to open in Camtasia Editor. Table of contents thumbnails are no longer created for Smart Player exports with no table of contents. Fix resetting skew revert to revert just skew and not scale as well. Fixed editing in Snagit with snagX file with Unicode characters. Fixed a bug where grouped visual media could be cropped in some cases. Fixed importing SnagX files with Unicode characters. Localization fixes. Download: Camtasia 2026.1.3 | 309.0 MB (Shareware) View: Camtasia Homepage | Tutorials | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • yeah it seems to be Edge only. The dialog buttons work as expected in Chrome and Firefox. The phone is using Android 16 (OneUI 8.5) and Edge version  149.0.4022.53
  • Recent Achievements

    • 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
    • One Year In
      slackerzz earned a badge
      One Year In
  • Popular Contributors

    1. 1
      +primortal
      512
    2. 2
      PsYcHoKiLLa
      188
    3. 3
      +Edouard
      157
    4. 4
      Steven P.
      83
    5. 5
      ATLien_0
      75
  • Tell a friend

    Love Neowin? Tell a friend!