Archive for the ‘Windows Development’ Category
Posted by jpluimers on 2026/05/07
A few years back this trick was shown to screw up %windir%\system32 [Wayback/Archive] Patrick Doyle on Twitter: “@SwiftOnSecurity @RoseAreaZero Delete any file in three easy steps: > takeown /F "example.ext" > icacls "example.ext" /grant "%USERNAME%":F > del "example.ext"“.
Like [Wayback/Archive] SwiftOnSecurity (@SwiftOnSecurity) / Twitter (see the long thread further below), I was expecting that Windows would either prevent you from doing this at all, or allow for easy recovery with System File Protection (now Source: Windows File Protection).
That didn’t prevent or recover it back then.
I wonder if that has been changed by now.
From the above Tweet:
Delete any file in three easy steps:
> takeown /F "example.ext"
> icacls "example.ext" /grant "%USERNAME%":F
> del "example.ext"
Read the rest of this entry »
Posted in Batch-Files, Development, Power User, Scripting, Security, Software Development, Windows, Windows 10, Windows 11, Windows Development | Leave a Comment »
Posted by jpluimers on 2026/04/21
This batch file works for modern Click-to-Run (sometimes called ClickToRun, Click2Run or C2R) based Office installations (note the odd lowercase microsoft shared which indeed is the actual directory name):
if exist "%CommonProgramFiles%\microsoft shared\ClickToRun\OfficeC2RClient.exe" (
"%CommonProgramFiles%\microsoft shared\ClickToRun\OfficeC2RClient.exe" /update user
) else (
echo could not find the Office Updater
)
This for sure does not work for MSI based Office 2013 and lower (which are updated through Windows Update anyway). Since I only have 2021 online (Click-to-Run) installs and higher to test with: those work fine.
Read the rest of this entry »
Posted in Batch-Files, Development, Office, Office 2021, Office Development, Power User, Scripting, Software Development, Windows, Windows Development | Leave a Comment »
Posted by jpluimers on 2026/04/07
Windows had its own aCropalypse in the Snipping tool, but other UWP based applications are vulnerable of that too because of this:
[Wayback/Archive] Steven Murdoch on Twitter: “However, the new “more secure” Universal Windows Platform (UWP) sandboxes the file picker in a separate process, allowing neat features like capability-based access control. It returns a file handle which, if the selected file exists, will not overwrite the existing content! 3/9”
It is part of this interesting [Wayback/Archive] Thread by @sjmurdoch on Thread Reader App with these two parts just after the above Tweet:
The old Win32 API for saving a file was (roughly) to show a file picker, get the filename the user selected, and then open the file. To open a file, the programmer must specify whether to overwrite the file or not, and example code usually does overwrite the file.
However, the new “more secure” Universal Windows Platform (UWP) sandboxes the file picker in a separate process, allowing neat features like capability-based access control. It returns a file handle which, if the selected file exists, will not overwrite the existing content!
The tread continued supporting this statement, that in the new situation you need to manually truncated the file, and referenced these links:
Read the rest of this entry »
Posted in .NET, Conference Topics, Conferences, Development, Event, SocialMedia, Software Development, Twitter, UWP (Universal Windows Platform), Windows Development | Leave a Comment »
Posted by jpluimers on 2026/02/24
I needed to document how to install sed on Windows (which I did a long time ago after writing Plastic SCM: show the current changeset abstract (without files) on the commandline) and recently for some more scripting work(which I will blog on that later this week).
At the time of writing it was [Wayback/Archive] Chocolatey Software | GNU sed 4.8, but this Chocolatey command will install or upgrade to the most recent available version:
choco upgrade --yes sed
Of course, like yesterday’s post Installing OpenSSL on Windows, you could use winget or scoop for this as well. Finding out the commands is left as an exercise to the reader (;
Query: [Wayback/Archive] chocolatey sed – Google Search
–jeroen
Posted in Software Development, Development, Power User, *nix, Scripting, Windows, *nix-tools, sed, Windows Development, Chocolatey, Scoop, winget | Leave a Comment »
Posted by jpluimers on 2026/02/04
Posted in .NET, Delphi, Development, History, Power User, Software Development, Windows, Windows 7, Windows Development, Windows XP, XML, XML/XSD | Leave a Comment »
Posted by jpluimers on 2025/08/21
A long time I wrote about Which Windows Resource Editor do you use? containing a poll to choose between XN Resource Editor, IcoFX, ResEdit and Resource Hacker.
In the meantime and betweentime more than 10 years have passed and there seems to be little maintenance in (especially the non-commercial part of) Windows Resource Editor land.
From the poll back then, I also learned about a (for me) new [Wayback/Archive] Resource Editor | MelanderBlog which is still maintained every now and then. The download is at [Wayback/Archive] Downloads | MelanderBlog (at the time of writing [Wayback] ResourceEditor20190421b.zip).
More on that and download/install locations of various resource editors below a new poll.
This new poll adds Resource Editor and allows you to make multiple choices (in case you use more than one tool):
Read the rest of this entry »
Posted in .NET, Delphi, Development, Software Development, Windows Development | Tagged: 14, 16, 2100 | Leave a Comment »
Posted by jpluimers on 2025/08/20
Sometimes Delphi cannot output the .exe file because it is locked. In even rarer times, Delphi itself keeps the .exe file locked (this has done it for decades and I think this is caused by a bug in the debugger).
A long time ago, I answered how to figure out where the lock comes from. A decade later a comment was added (thanks [Wayback/Archive] Server Overflow) with a command-line tool you can use for that too (but sometimes returns less results). Both are in [Wayback/Archive] compilation – Delphi does not generate any exe file – Stack Overflow Read the rest of this entry »
Posted in Delphi, Development, Power User, Software Development, Windows, Windows 10, Windows 11, Windows 7, Windows 8, Windows 8.1, Windows Development | Leave a Comment »
Posted by jpluimers on 2025/07/22
A while ago, I had to figure out the field sizes for some Windows API functions. In the distance past, the base data types used to be defined in windows.h, but over the decades that file has been split into various other files as there are far more than just the BOOL, int, UINT, DWORD, HWND, LPARAM and WPARAM data types. Currently the data types are defined in [Wayback/Wayback] Windows Data Types (BaseTsd.h) – Win32 apps | Microsoft Learn.
Note that C++ allows to specify bit field sizes for fields in struct composite data types, so under some circumstances, fields my have a different number of bits than you might expect from their data type.
Via [Wayback/Archive] c++ dword uint size – Google Search.
–jeroen
Posted in C++, Development, Software Development, Visual Studio C++, Windows Development | Leave a Comment »