|
|
I've been buried in legacy maintenance of other people's π© for a while, to the point where I really don't want to come in to work . Among other things I do our installers, which encapsulate several third-party packages. Today, we've discovered a problem that's fixed in a new version of a package. The new package requires that the old one be uninstalled before the new one goes in. While this isn't too hard, the uninstaller isn't silent and the user has to click on a number of buttons for it to do its thing.
Here's the fun part. For a long while I've wanted to have my installer click buttons automatically so that I didn't have to rely on the user doing it. Even when I include detailed and explicit instructions in my installer, they sometimes screw it up. We use Inno Setup[^] which lets you call functions in a DLL of your own from their Pascal script. I use this feature for several things that aren't easily accessible from script.
I'm implementing an auto-click feature in the DLL that spins up a thread that watches for windows with a caption and then clicks a specified button in that window. It looks like it's going to work.
I'm happier than a pig in slop .
Software Zen: delete this;
|
|
|
|
|
But according to the docs, InnoSetup does also understand the command line Parameters /SILENT and /VERSILENT. They did not work for you?
|
|
|
|
|
This is the case where the encapsulated installers don't support silent installs or uninstalls. I even have one case where a command line installer when run with the silent option still pops up a message box when it completes .
Software Zen: delete this;
|
|
|
|
|
I used to rip apart MSI files with some MSI decompiler thing that I used to have, and then modify them to make them unattended.
I wish I could remember the tool name. Orca or something?
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
MSI is an abomination before all known deities. Before we started using Inno Setup we tried InstallShield, which generated MSI. I spent over a month trying to get our stuff installed properly. When I found out they wanted over $1K for each additional user language to support localized installs, I said screw it and went looking.
After finding Inno Setup, I replicated our product install in in a single day.
Software Zen: delete this;
|
|
|
|
|
|
It was indeed called Orca, and was part of the Platform SDK.
A few links brought me here: Windows SDK - Windows app development | Microsoft Developer
There's no direct link to it however, it looks like you have to download the entire SDK just to get that one file.
[Edit]
Oh, and here. Although this still has no direct link.
|
|
|
|
|
Yes, it's Orca. But that's like doing assembly programing. I wouldn't wish it on my favorite enemy.
Bond
Keep all things as simple as possible, but no simpler. -said someone, somewhere
|
|
|
|
|
I don't remember it being terrible for modifying MSIs as long as you knew how they worked, but I wouldn't use it to build one from scratch.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Nice! My favorite projects have always been utility apps that I use personally, especially the ones that involve automation.
"Go forth into the source" - Neal Morse
"Hope is contagious"
|
|
|
|
|
Gary Wheeler wrote: I'm implementing an auto-click feature in the DLL that spins up a thread that watches for windows with a caption
Autoit?
https://www.autoitscript.com/site/[^]
|
|
|
|
|
Unfortunately the corporate IT gestapo gives me a load of crap every time I want to use third-party software. For open source / freeware I just use it and beg forgiveness if I get caught. This is what happened when they discovered I was using Inno Setup. They wanted me to stop using it, but by that time it had been used for all of our products for years. Purchased software is a PITA because they evaluate it, don't like it, and then offer an alternative that doesn't do what I need.
For this reason, I usually roll my own for this sort of thing.
Software Zen: delete this;
|
|
|
|
|
I got into that installer crap a long while ago when MS rolled out their new approach.
I'd rather stick needles in my eyes. That said, it appears I need to make $$ again, so ....
Charlie Gilley
βThey who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.β BF, 1759
Has never been more appropriate.
|
|
|
|
|
I work for a small tech company. Sometimes we try to look cool. Our conference room started with a web cam and a long USB extension cord plus a long HDMI cable. This setup worked just fine and everybody understood it.
Along came the board of directors and we had to get a YeaLink system[^]. There was abrasion at first, but I've grown to enjoy it. You forward a meeting to an email address attached to its PC and then you can use a touch screen device on the table to start a meeting. No need to bring a computer with you to a meeting unless you're presenting. This has been our status quo for a few years.
Fast forward to current time and the board of directors has decided we need to be more modern. We now have the Owl Labs Meeting Owl 3. This thing is a serious mess. To use it via your phone (cause there is not touch screen), you have to be on the same wifi network and install an app to start the meeting. On a laptop, you have to install an app and physically connect to a USB-C cable. In Zoom, you have to change your mic, speakers, and video to the owl. Then you have to go through multiple steps on the monitor to connect it wireless to the laptop. Anybody that had dealt with smart TVs knows there is nothing smart about this process.
I guess I'm saying meetings are bad enough without needless tech making it harder to get started.
Hogan
|
|
|
|
|
If it ain't broke, keep 'fixing' it until it is.
"the debugger doesn't tell me anything because this code compiles just fine" - random QA comment
"Facebook is where you tell lies to your friends. Twitter is where you tell the truth to strangers." - chriselst
"I don't drink any more... then again, I don't drink any less." - Mike Mullikins uncle
|
|
|
|
|
- Buy sufficient amount of shares
- Fire the board
- Chill
"If we don't change direction, we'll end up where we're going"
|
|
|
|
|
|
|
At the end I got a DELL u4025qw and it's amazing, after scaling fonts to 120% the text is perfectly readable, 120Hz + 140W output in the thunderbolt port, with all that ports in the included dock station makes it perfect for work.
Again, thank you all!
modified 6-Sep-24 7:04am.
|
|
|
|
|
Wordle 1,175 5/6
β¬β¬β¬π¨β¬
β¬β¬β¬π¨π¨
β¬π©π©β¬β¬
β¬π©π©β¬β¬
π©π©π©π©π©
|
|
|
|
|
Wordle 1,175 4/6*
β¬β¬β¬β¬π¨
β¬β¬π¨π¨π¨
β¬π©π©β¬π©
π©π©π©π©π©
|
|
|
|
|
Wordle 1,175 3/6*
β¬π¨β¬β¬π¨
β¬π¨π¨π¨π¨
π©π©π©π©π©
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
β¬π¨β¬π¨π¨
π¨π¨β¬π¨β¬
β¬β¬π¨π¨π¨
π©π©π©π©π©
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP
|
|
|
|
|
Wordle 1,175 4/6
π¨β¬π©β¬β¬
β¬β¬β¬β¬β¬
β¬β¬π¨π¨β¬
π©π©π©π©π©
GCS/GE d--(d) s-/+ a C+++ U+++ P-- L+@ E-- W+++ N+ o+ K- w+++ O? M-- V? PS+ PE Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
The shortest horror story: On Error Resume Next
|
|
|
|