Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 16162|Svare: 2

[Nytt nummer] Det vil oppstå problemer med å kjøre InstallShield-installasjonspakken med Silent Mode i Setup Project-prosjektet

[Kopier lenke]
Publisert på 28.08.2018 11:56:12 | | |
Hei guder,

Jeg har nylig brukt Setup Project for å pakke programmet, og det heter A.
På grunn av prosjektkrav måtte jeg installere en installasjonspakke B pakket av InstallShield under installasjonen av A.
I dette. AfterInstall og this.BeforeUninstall parts legger til koden for henholdsvis "Install" og "Reverse Install" B.
Den kunne imidlertid ikke utføres jevnt, og setup.log generert av B fikk ResultCode=-3, men årsaken er ukjent...

Jeg ber styreguden om hjelp, dette problemet har plaget lillebroren min lenge, og jeg har ikke klart å løse det... Takk!!

I den følgende koden plasseres koden i InstallerHelper_AfterInstall og InstallerHelper_BeforeUninstall i det nyopprettede C#-konsollprogrammet, men det kan kjøres normalt.
Og WaitforExit() kan også sette seg fast jevnt, og B-installasjonspakken kan også kjøres jevnt, ResultCode=0.

Koden er som følger:
--
ved bruk av System;
ved bruk av System.Collections;
ved bruk av System.Collections.Generic;
ved bruk av System.ComponentModel;
ved bruk av System.Configuration.Install;
ved bruk av System.Linq;
bruk av System.Threading.Tasks;
ved bruk av System.Configuration;
ved bruk av System.Windows;
bruk av System.IO;
bruk av System.Diagnostics;
bruk av System.Threading;

navnerom FRWebService
{
    [RunInstaller(true)]
    offentlig partiell klasse InstallerHelper : Installer
    {
        offentlig InstallerHelper()
        {

            InitializeComponent();

            Dette. BeforeInstall += ny InstallEventHandler(InstallerHelper_BeforeInstall);
            Dette. AfterInstall += ny InstallEventHandler(InstallerHelper_AfterInstall);

            Dette. BeforeUninstall += ny InstallEventHandler(InstallerHelper_BeforeUninstall);
            Dette. AfterUninstall += ny InstallEventHandler(InstallerHelper_AfterUninstall);
        }

        privat void InstallerHelper_BeforeUninstall(objektavsender, InstallEventArgs e)
        {
            Prøv
            {
                Streng arg = "/s /uninst";
                Process p = Process.Start ("C:\\Program Files\\\Test\\setup_io.exe", arg);
                p.WaitForInputIdle();
                p.WaitForExit();

            }
            catch (Unntak f.eks.)
            {

            }
        }

        private void InstallerHelper_BeforeInstall(objektavsender, InstallEventArgs e)
        {

        }

        private void InstallerHelper_Committing(objektavsender, InstallEventArgs e)
        {

        }

        privat void InstallerHelper_Committed(objektavsender, InstallEventArgs e)
        {

        }

        private void InstallerHelper_AfterInstall(objektavsender, InstallEventArgs e)
        {
            Prøv
            {
                Streng arg = "/s";
                Process p = Process.Start ("C:\\Program Files\\\Test\\setup_io.exe", arg);
                p.WaitForInputIdle();
                p.WaitForExit();
            }
            catch (Unntak f.eks.)
            {

            }
        }

        privat void InstallerHelper_AfterUninstall(objektavsender, InstallEventArgs e)
        {


        }


        Kode som skal utføres ved installasjon av applikasjonen
        public override void Install(System.Collections.IDictionary stateSaver)
        {
            System.Diagnostikk.Debugger.Launch();
            basen. Install(stateSaver);
            System.Windows.Forms.MessageBox.Show("Installerer applikasjon...");
        }

        public override void Uninstall(System.Collections.IDictionary stateSaver)
        {
            System.Diagnostikk.Debugger.Launch();
            basen. Avinstaller (stateSaver);
            System.Windows.Forms.MessageBox.Show("Avinstallerer applikasjon...");
        }

    }
}
--





Foregående:Linq implementerer ikke i og i betingede spørringer i SQL
Neste:MySQL-spørringstabeller bygget på et bestemt tidspunkt i en database
Publisert på 28.08.2018 13:02:49 |
Kan du lime inn setup.log logger? Eller kjøre installasjonen som administrator og prøve det?
 Vert| Publisert på 28.08.2018 14:21:53 |
Dette innlegget ble sist redigert av yishiang0217 den 2018-9-3 kl. 09:47
Admin postet 28.08.2018 13:02
Kan du lime inn setup.log logger? Eller kjøre installasjonen som administrator og prøve det?

Hei administratorer,

Hyggelig å få svaret ditt, her er svarene på spørsmålene dine:

1.
Det er alt setup.log handler om @@
--
[ResponseResult]
ResultCode=-3
--
Eller kan InstallShield skrive ut flere?!

2.
Oppsettsprosjektet vil generere to filer, en er MSI og den andre er en exe, jeg prøvde å kjøre exe-filen som administrator, men jeg klarte ikke...

P.S. Den delen som har vært vellykket så langt er... Kjør B-installasjonspakken når du bruker AfterInstall, men ikke bruk WaitForExit, du kan installere den smidig og lydløst... Men fordi B er installert og pakket, må jeg fortsatt gjøre noen operasjoner...
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com