( SzBlackY | 2019. 09. 26., cs - 20:01 )

De tényleg, miért is kell neki? Előbb uninstallt nyom és ahhoz kell a régi msi?

Ha a Product Code megegyezik (vagy az Upgrade Code? valamelyik UUID a Property táblában :) ), akkor a korábbi vezióra (major/minor/patch hármassal van azonosítva) tol egy törlést.

Ami miatt viszont kell neki az installer (nézz szét a C:\Windows\Installer mappában :) ) az a tranzakcionális telepítés: ha a telepítés pillanatában fut a program, akkor ugye lockolt a fájl és nem tudja felülírni; ilyenkor nyafog az újraindítás miatt, a leállítás közben meg befejezi a telepítési műveletet (ha meg nem sikerül, indításkor visszavonja). A helyi másolat meg azért kell, mert 1) ilyenkor már nem biztos, hogy van hálózat, ha esetleg onnan telepítettél vagy 2) a tényleges telepítést egy service végzi, ami nem a telepítést elindító user nevében fut. (a hálózatról telepítés meg egyébként is valid use case, de a GPO-ból telepítésnél meg kb. kizárólagos).

Tudja, hogy melyik könyvtárban van a lényeg, azt kell törölni.

Hátőőő... NSIS-nél (ahol neked kell összeraknod az uninstaller-t is) bevett szokás ez, hogy simán rm -rf a telepítési könyvtárra (meg utána az uninstall registry keyekre, amiket kézzel hoztál létre)... ami addig szépen működik, amíg senki más nem bántja azt a könyvtárat (pl. egy plug-in telepítője), az szép tud lenni, amikor független komponensek gyilkolják egymás fájljait :) [tudom, én is csináltam ilyet...]

Aztán ehhez ha hozzáveszed az msp-ket (msi patch fájlok), akkor még rosszabb a helyzet.

BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)