Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 16162|Svar: 2

[Nyt nummer] Der vil være problemer med at køre InstallShield-installationspakken med Silent Mode inden for Setup Project-projektet

[Kopier link]
Opslået på 28/08/2018 11.56.12 | | |
Hej guder,

Jeg har for nylig brugt Setup Project til at pakke programmet, og det hedder A.
På grund af projektkrav måtte jeg installere en installationspakke B, pakket af InstallShield, under installationen af A.
I dette. AfterInstall og this.BeforeUninstall parts tilføjer koden til henholdsvis "Install" og "Reverse Install" B.
Dog kunne det ikke udføres gnidningsfrit, og den setup.log genereret af B gav ResultCode=-3, men årsagen er ukendt...

Jeg beder bestyrelsesguden om hjælp, dette problem har plaget min lillebror i lang tid, og jeg har ikke kunnet løse det... Tak!!

I den følgende kode placeres koden i InstallerHelper_AfterInstall og InstallerHelper_BeforeUninstall i det nyoprettede C#-konsolprogram, men det kan køre normalt.
Og WaitforExit() kan også sidde fast glat, og B-installationspakken kan også udføres problemfrit, ResultCode=0.

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

navnerum FRWebService
{
    [RunInstaller(true)]
    offentlig partiel 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(objektafsender, 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 (Undtagelse f.eks.)
            {

            }
        }

        privat void InstallerHelper_BeforeInstall(objektafsender, InstallEventArgs e)
        {

        }

        privat void InstallerHelper_Committing(objektafsender, InstallEventArgs e)
        {

        }

        privat void InstallerHelper_Committed(objektafsender, InstallEventArgs e)
        {

        }

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

            }
        }

        privat void InstallerHelper_AfterUninstall(objektafsender, InstallEventArgs e)
        {


        }


        Kode til at udføre ved installation af applikationen
        public override void Install(System.Collections.IDictionary stateSaver)
        {
            System.Diagnostik.Debugger.Start();
            basen. Installer (stateSaver);
            System.Windows.Forms.MessageBox.Show("Installerer applikation...");
        }

        public override void Uninstall(System.Collections.IDictionary stateSaver)
        {
            System.Diagnostik.Debugger.Start();
            basen. Afinstaller (stateSaver);
            System.Windows.Forms.MessageBox.Show("Afinstallerer applikation...");
        }

    }
}
--





Tidligere:Linq implementerer ikke i og i betingede forespørgsler i SQL
Næste:MySQL-forespørgselstabeller bygget på et bestemt tidspunkt i en database
Opslået på 28/08/2018 13.02.49 |
Kan du indsætte setup.log logs? Eller køre installationen som administrator og prøve det?
 Udlejer| Opslået på 28/08/2018 14.21.53 |
Dette indlæg blev sidst redigeret af yishiang0217 den 2018-9-3 kl. 09:47
admin postet den 28-8-2018 kl. 13:02
Kan du indsætte setup.log logs? Eller køre installationen som administrator og prøve det?

Hej administratorer,

Rart at modtage dit svar, her er svarene på dine spørgsmål:

1.
Det er alt, setup.log handler om @@
--
[SvarResultat]
ResultCode=-3
--
Eller kan InstallShield printe mere?!

2.
Setup Project vil generere to filer, én er MSI og den anden er en exe, jeg prøvede at køre exe'en som administrator, men jeg kunne ikke...

P.S. Den del, der har været succesfuld indtil nu, er... Kør B-installationspakken, når du AfterInstall, men brug ikke WaitForExit, du kan installere det glat og lydløst... Men fordi B er installeret og pakket, skal jeg stadig udføre nogle operationer...
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com