Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 16162|Válasz: 2

[Új szám] Problémák lesznek az InstallShield telepítő csomag Silent Mode-ban futtatása esetén a Setup Project projektben

[Linket másol]
Közzétéve 2018. 08. 28. 11:56:12 | | |
Sziasztok, istenek,

Mostanában a Setup Project programot használom a program csomagolásához, és a neve A.
A projekt követelményei miatt az A telepítése során telepítenem kellett egy InstallShield által csomagolt B telepítési csomagot.
Ebben is. Az AfterInstall és ez.BeforeUninstall részek adják hozzá a "Install" és "Reverse Install" B kódot.
Azonban nem volt zökkenőmentesen végrehajtható, és a B által generált setup.log ResultCode=-3 értéket kapott, de ennek oka ismeretlen...

Könyörgöm a tanács istenének, hogy segítsen, ez a probléma már régóta aggasztja a kisöcsémet, és én nem tudtam megoldani... Köszönöm!!

A következő kódban a InstallerHelper_AfterInstall és InstallerHelper_BeforeUninstall kódja az újonnan létrehozott C# konzolprogramba kerül, de az normálisan is fut.
A WaitforExit() is simán beragadhat, és a B telepítési csomag is zökkenőmentesen futtatható, ResultCode=0.

A kódex a következő:
--
System használatával;
a System.Collections használatával;
System.Collections.Generic használatával;
a System.ComponentModel használatával;
System.Configuration.Install használatával;
a System.Linq használatával;
System.Threading.Tasks használatával;
a System.Configuration használatával;
System.Windows használatával;
System.IO használatával;
System.Diagnostics használatával;
a System.Threading használatával;

névtér FRWebService
{
    [RunInstaller(true)]
    public partial class InstallerHelper : Installer
    {
        public installerHelper()
        {

            InitializeComponent();

            ez. BeforeInstall += new InstallEventHandler(InstallerHelper_BeforeInstall);
            ez. AfterInstall += új InstallEventHandler(InstallerHelper_AfterInstall);

            ez. BeforeUninstall += new InstallEventHandler(InstallerHelper_BeforeUninstall);
            ez. AfterUninstall += új InstallEventHandler(InstallerHelper_AfterUninstall);
        }

        private void InstallerHelper_BeforeUninstall(object sender, InstallEventArgs e)
        {
            próbáld ki
            {
                String arg = "/s /uninst";
                Process p = Process.Start("C:\\Program Files\\Test\\setup_io.exe", arg);
                p.WaitForInputIdle();
                p.WaitForExit();

            }
            catch (kivétel ex)
            {

            }
        }

        private void InstallerHelper_BeforeInstall(object sender, InstallEventArgs e)
        {

        }

        private void InstallerHelper_Committing(object sender, InstallEventArgs e)
        {

        }

        private void InstallerHelper_Committed(object sender, InstallEventArgs e)
        {

        }

        private void InstallerHelper_AfterInstall(object sender, InstallEventArgs e)
        {
            próbáld ki
            {
                String arg = "/s";
                Process p = Process.Start("C:\\Program Files\\Test\\setup_io.exe", arg);
                p.WaitForInputIdle();
                p.WaitForExit();
            }
            catch (kivétel ex)
            {

            }
        }

        private void InstallerHelper_AfterUninstall(object sender, InstallEventArgs e)
        {


        }


        a kód, amit az alkalmazás telepítésekor kell végrehajtani
        public override void Install(System.Collections.IDictionary stateSaver)
        {
            System.Diagnostics.Debugger.Launch();
            bázis. Install(stateSaver);
            System.Windows.Forms.MessageBox.Show ("Alkalmazás telepítése...");
        }

        public override void Uninstall(System.Collections.IDictionary stateSaver)
        {
            System.Diagnostics.Debugger.Launch();
            bázis. Uninstall(stateSaver);
            System.Windows.Forms.MessageBox.Show("Alkalmazás eltávolítása...");
        }

    }
}
--





Előző:A Linq nem in és in feltételes lekérdezéseket valósít meg SQL
Következő:A MySQL adatbázisban egy adott időpontban létrehozott táblákat kérdez
Közzétéve 2018. 08. 28. 13:02:49 |
Be tudsz illeszteni setup.log naplókat? Vagy futtatom a telepítést adminisztrátorként, és próbáld ki?
 Háziúr| Közzétéve 2018. 08. 28. 14:21:53 |
Ezt a bejegyzést utoljára yishiang0217 szerkesztette: 2018-9-3, 09:47
admin közzétéve: 2018-08-28 13:02
Be tudsz illeszteni setup.log naplókat? Vagy futtatom a telepítést adminisztrátorként, és próbáld ki?

Sziasztrátorok, adminisztrátorok,

Örülök, hogy kaptam a válaszodat, íme a válaszok a kérdéseidre:

1.
Ennyi az egész setup.log @@
--
[VálaszEredmény]
ResultCode=-3
--
Vagy az InstallShield többet is tudna nyomtatni?!

2.
A Setup Project két fájlt generál, az egyik msi, a másik exe, próbáltam futtatni az exe-t adminisztrátorként, de nem sikerült...

Ui.: Az a rész, ami eddig sikeres volt, az... Futtatd a B telepítési csomagot az AfterInstall kor, de ne használd a WaitForExitet, simán és hangtalanul telepítheted... De mivel a B be van telepítve és csomagolva, még néhány műveletet kell végeznem...
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com