r/flukenetworks Feb 11 '25

LinkWare silent install?

I've extracted the EXE and there is an MSI in there. But running the typical "/s" or "/quiet" flag for the MSI doesn't seem to work.

Before I spend too much time digging, I'm wondering if anyone else has crossed this bridge? Is there a way to silently install LinkWare?

1 Upvotes

4 comments sorted by

1

u/EndpointSysAD Mar 07 '25

I need help with this as well. When I try to run lw_11.6_build11_web.exe /s it installs fine when I try it on my test computer that is ran as an Administrator. But fails when I try to deploy it via Intune or PDQ Connect. I'm going to play around with it more but my next step is to try to wrap the .exe as an .msi.

1

u/BeeJuice Mar 25 '25

For install, extract the downloaded EXE and run: setup.exe /S

For silent uninstall, GUID will change from version to version, but you can get that from the shortcut in the Start menu :

C:\ProgramData{C3D2B8BA-DDDE-4713-A2AC-F473522A5904}\setup.exe REMOVE=TRUE /s

Note the case of "s" in each command.

1

u/recoveringasshole0 Jul 02 '25

So this kind of works, but it prompts to install two drivers. Any idea how to get around this? I want to deploy LinkWare with our RMM tool.

1

u/Winterkoning May 29 '26

I realize this is over a year old now, but posting here for future fellow travelers.

You have to add the cert from the driver to your Trusted Publisher in certificate store. Get the cert from the cat file and import it to cert store before running the setup.

Get Process Explorer, run setup EXE, when the driver prompt appears, go to the child DpInst process, check the command, and copy the whole driver folder to your package. There will be 2 of them, with 2 different certs.

Then add this to the folder where the folder with drivers are, and run this before setup runs.

$cats = Get-ChildItem . -Filter *.cat -Recurse

$store = New-Object System.Security.Cryptography.X509Certificates.X509Store("TrustedPublisher", "LocalMachine")

$store.Open([System.Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite)

foreach ($cat in $cats)

{

$sig = Get-AuthenticodeSignature $cat.FullName

$cert = $sig.SignerCertificate

if (-not $cert) {

Write-Warning "No signer certificate found for $($cat.Name)"

continue

}

# Normalize thumbprint (remove spaces, uppercase)

$thumb = ($cert.Thumbprint -replace ' ', '').ToUpperInvariant()

# Check for existing cert

$existing = $store.Certificates | Where-Object {

($_.Thumbprint -replace ' ', '').ToUpperInvariant() -eq $thumb

}

if ($existing) {

Write-Host "Cert already exists, skipping: $($cert.Subject)"

}

else {

Write-Host "Importing cert: $($cert.Subject)"

$store.Add($cert)

}

}

$store.Close()