Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 16162|Odpověď: 2

[Nové číslo] Bude problém při spuštění instalačního balíčku InstallShield v tichém režimu v rámci projektu Setup Project

[Kopírovat odkaz]
Zveřejněno 28.08.2018 11:56:12 | | |
Ahoj bohové,

Nedávno jsem používal Setup Project k balení programu a jmenuje se A.
Kvůli požadavkům projektu jsem musel během instalace A nainstalovat instalační balíček B od InstallShield.
V tomhle. AfterInstall a this.BeforeUninstall přidávají kódy "Install" a "Reverse Install" B.
Nicméně nešlo jej spouštět hladce a setup.log generovaný B získal ResultCode=-3, ale důvod není znám...

Prosím rady o pomoc, tento problém trápí mého mladšího bratra už dlouho a já ho nedokázal vyřešit... Děkuju!!

V následujícím kódu je kód v InstallerHelper_AfterInstall a InstallerHelper_BeforeUninstall umístěn do nově vytvořeného C# konzolového programu, ale může běžet normálně.
WaitforExit() se také může zaseknout plynule a instalační balíček B může být také spuštěn plynule, ResultCode=0.

Kód je následující:
--
pomocí System;
pomocí System.Collections;
pomocí System.Collections.Generic;
pomocí System.ComponentModel;
pomocí System.Configuration.Install;
pomocí System.Linq;
pomocí System.Threading.Tasks;
pomocí System.Configuration;
pomocí System.Windows;
pomocí System.IO;
pomocí System.Diagnostics;
pomocí System.Threading;

Jmenný prostor FRWebService
{
    [RunInstaller(true)]
    public partial class InstallerHelper : Installer
    {
        public InstallerHelper()
        {

            InitializeComponent();

            Přesně tak. BeforeInstall += nový InstallEventHandler(InstallerHelper_BeforeInstall);
            Přesně tak. AfterInstall += nový InstallEventHandler(InstallerHelper_AfterInstall);

            Přesně tak. BeforeUninstall += new InstallEventHandler(InstallerHelper_BeforeUninstall);
            Přesně tak. AfterUninstall += nový InstallEventHandler(InstallerHelper_AfterUninstall);
        }

        private void InstallerHelper_BeforeUninstall(object sender, InstallEventArgs e)
        {
            zkus
            {
                Struna arg = "/s /uninst";
                Process p = Process.Start("C:\\Program Files\\Test\\setup_io.exe", arg);
                p.WaitForInputIdle();
                p.WaitForExit();

            }
            chytit (Výjimka 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)
        {
            zkus
            {
                Struna arg = "/s";
                Process p = Process.Start("C:\\Program Files\\Test\\setup_io.exe", arg);
                p.WaitForInputIdle();
                p.WaitForExit();
            }
            chytit (Výjimka ex)
            {

            }
        }

        private void InstallerHelper_AfterUninstall(object sender, InstallEventArgs e)
        {


        }


        Kód, který se provádí při instalaci aplikace
        public override void Install(System.Collections.IDictionary stateSaver)
        {
            System.Diagnostics.Debugger.Launch();
            základny. Install(stateSaver);
            System.Windows.Forms.MessageBox.Show("Instalace aplikace...");
        }

        public override void Uninstall(System.Collections.IDictionary stateSaver)
        {
            System.Diagnostics.Debugger.Launch();
            základny. Odinstalovat (stateSaver);
            System.Windows.Forms.MessageBox.Show("Odinstalace aplikace...");
        }

    }
}
--





Předchozí:Linq implementuje ne v a v podmíněných dotazech v SQL
Další:MySQL dotazovací tabulky vytvořené v určitém čase v databázi
Zveřejněno 28.08.2018 13:02:49 |
Můžeš vložit setup.log logy? Nebo spustit instalaci jako administrátor a zkusit ji?
 Pronajímatel| Zveřejněno 28.08.2018 14:21:53 |
Tento příspěvek byl naposledy upraven yishiang0217 dne 3. 9. 2018 v 09:47
admin zveřejněno 28. 8. 2018 13:02
Můžeš vložit setup.log logy? Nebo spustit instalaci jako administrátor a zkusit ji?

Dobrý den, správci,

Rád jsem dostal vaši odpověď, zde jsou odpovědi na vaše otázky:

1.
O tom setup.log je @@
--
[Výsledek odpovědi]
ResultCode=-3
--
Nebo může InstallShield vytisknout víc?!

2.
Setup Project vygeneruje dva soubory, jeden je msi a druhý exe, zkoušel jsem spustit exe jako administrátor, ale nešlo to...

P.S. Část, která byla zatím úspěšná, je... Spusť instalační balíček B při AfterInstall, ale nepoužívejte WaitForExit, můžete ho nainstalovat plynule a tiše... Ale protože B je nainstalovaný a zabalený, musím ještě udělat nějaké operace...
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com