Ändra MSI-databas för omstart av system

Hittade återigen ingen bra info om hur man skulle göra detta i praktiken, så dumpar lite kod här för framtida bruk.

Kan läggas till som t.ex en post-build action eller liknande för att modifiera databasen i en MSI-installer till att starta om datorn.


Type type = Type.GetTypeFromProgID("WindowsInstaller.Installer");
Installer installer = (Installer)Activator.CreateInstance(type);

var db = installer.OpenDatabase(path, 1);

Console.WriteLine("Setting property REBOOT to Force in Property table");
var view = db.OpenView("INSERT INTO Property (Property, Value) VALUES ('REBOOT', 'Force')");

view.Execute();
db.Commit();

Här är egenskapsreferensen:

https://msdn.microsoft.com/en-us/library/windows/desktop/aa370905(v=vs.85).aspx

XOR-reläkoppling

Dokumenterar här en förenklad XOR-gate med relä(n). Hittade ingen bra information på nätet om det så jag sammanställer lite här.

 

Koppling med två ”vanliga” monostabila polariserade relän:

XOR-reläkoppling med 2 relän

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Koppling med endast ett monostabilt opolariserat relä:

XOR-reläkoppling med ett relä

 

Koppla de respektive ingångarna till vardera ingång på relät.
Vid inaktiverade ingångar erhålles ingen spänning ut och vid samtidigt aktiverade ingångar vinner ingen av krafterna (svävande), därmed låg utspänning.

När någon av ingångarna är aktiverade enskilt vinner den ingången och spänning erhålles på utgången.

Arkivera Internet!

Hjälp till att hålla projektet vid liv:

https://archive.org/donate/

Donera en slant :) 

Tjäna pengar på annonsering!

Vill du tjäna pengar på affiliate / annonsering?

Kolla in Adtraction!

 

I princip alla ansökningar godkänns. Ansök nu!

Instruktion 32 nu online

Instruktion32.se är nu online! Ännu en sida för att förvirra lite extra med de redan 2 befintliga codelink.se och systematik.se :)