However, upon exit, I got an exception that UIBECKER.SYS could not be opened. I put the updated binary into Becker3D12\Program\Bin, started it, expecting things to blow up spectacularly, and instead I got a fully working application, and %APPDATA%\VirtualStore showed all the redirected files. Eventually I realized I needed to edit the original resource, so I opened the binary in Visual Studio and updated RT_MANIFEST entry to remove trustInfo node completely, then did the updateresource described above to have a new shiny manifest that passes validation. Unfortunately for me, mt.exe does a merge of the existing manifest and the incoming one, so I kept getting trustInfo in the final binary. > 'C:\Program Files (x86)\Windows Kits\10\bin\1.0\圆4\mt.exe' '-updateresource.\Projects\BeckerCAD.exe #1' -manifest. mt.exe is a binary from Windows SDK that deals with manifests, extracting the manifest from BeckerCAD.exe shows: Microsoft: Targeting your application for Windows In particular, if you don't add trustInfo at all, then 32-bit x86 versions of your app will be subject to UAC file virtualization, which allows writes to administrator-privileged folders like the Windows system folders to succeed when they would otherwise fail, but redirects them to a user-specific "VirtualStore" folder. Targeting your application for Windows brings additional details:Īdding trustInfo isn't essential, but it is highly recommended, even when your app doesn't need any particular UAC-related behavior. Microsoft: Security: Inside Windows Vista User Account Control The presence of the trustInfo element in a manifest (which you can see in the excerpted string dump of Firewallsettings.exe below), denotes an executable that was written for Windows Vista and the requestedElevationLevel element nests within it. Now, Becker3D 12 Pro is a 32-bit application. This enabled 32-bit Win32 applications to work as expected even with restrictions in place, because Windows would redirect writes to the files into %APPDATA%\VirtualStore. When Microsoft restricted access to Program Files on Windows Vista, they created UAC Virtualization. Now, by default, the installer would have put this application in the root folder, which is exempt from these restrictions, but I still felt uneasy granting the application access to overwrite whatever it wants in its installation directory. Even though the binary was compiled in 2019, it was using practices from pre-2007 era, when Windows Vista introduced restrictions on applications writing to their installation folder within Program Files. I did not like how it wrote to those folders, especially the Program\Bin one. %ProgramFiles(x86)%\BeckerCAD12\User\UIBECKER.SYS %ProgramFiles(x86)%\BeckerCAD12\Program\Bin\CADdyWebExport.MES %ProgramFiles(x86)%\BeckerCAD12\Program\Bin\Buildings.MES %ProgramFiles(x86)%\BeckerCAD12\Program\Bin\startAssistent.MES %ProgramFiles(x86)%\BeckerCAD12\Program\Bin\webBrowser.MES %ProgramFiles(x86)%\BeckerCAD12\Program\Python\CADdyPython.log %ProgramFiles(x86)%\BeckerCAD12\Program\Python\Lib\site-packages\win32com\gen_py\dicts.dat %ProgramFiles(x86)%\BeckerCAD12\Program\Python\Lib\site-packages\win32com\gen_py\* %ProgramFiles(x86)%\BeckerCAD12\Program\Database\* With this change, the installation proceeds as expected, but you get a slew of error messages related to inability to creating files (including a Python stacktrace), reading files, initializing DLLs, etc on startup.īased on SysInternals ProcessMonitor, throughout its runtime, BeckerCAD writes data to: Since I tagged this post as “the hard way”, I did not go that default route.īeckerCAD is a 32-bit Win32 program, so it should really be installed into Program Files (x86). So I bought a license to the office suite that I’ve had my eyes on for some time, and put a $20 BeckerCAD12 3D Pro in the cart along for the ride.īeckerCAD’s installation process suggested installing it into a folder at the root of the drive, and there’s a reason for that - this application does not respect the non-writable nature of modern “Program Files” folder, so it suggests using a location that is not locked down. I like Google Docs as much as the next guy, but sometimes I enjoy looking at what else is out there. Occasionally I run into an interesting piece of software while doing unrelated things, and this time I stumbled upon a Windows-only “BeckerCAD 12 3D Pro” application on sale in SoftMaker store, a company developing the blazing fast Linux/Windows/Mac OS X SoftMaker Office suite, and a free FreeOffice version of one. Update (): I've written more on BeckerCAD, and why you probably shouldn't buy it.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |