Is it possible to programatically change an msi's database on Linux
Asked Answered
Z

1

1

I know you can change it using cscript.exe on Windows. Is there a Linux program providing cscript-like functionality? Or is there some other way I can change the database in Linux?

Zenobia answered 18/8, 2011 at 22:52 Comment(2)
MSI is supposedly the Microsoft Installer, a very Windows-specific beast. What are you even doing with that on Linux?Breezy
@Henning my guess is some sort of web service or siteCatabolite
G
2

CScript is just the script execution engine; it knows nothing about MSI directly. Check out Wine; it implements some/most of msi.dll, so as long as functions like MsiDatabaseOpenView and MsiViewExecute are correctly implemented, you should be able to use it to modify an .msi package.

Gorey answered 18/8, 2011 at 23:25 Comment(2)
Ugh. Yeah this is probably the way to do it. I think I'm going to end up running a Windows box instead of mucking around in a bunch of C libraries.Zenobia
I ported Wine's code to a standalone library that can run on Linux - see https://mcmap.net/q/507804/-build-msi-in-wine for more details. Help is welcome, the source code is also on github at github.com/bonzini/msitools.gitBettyebettzel

© 2022 - 2024 — McMap. All rights reserved.