Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 16162|Отговор: 2

[Нов брой] Ще има проблеми при стартирането на инсталационния пакет InstallShield чрез Silent Mode в проекта Setup Project

[Копирай линк]
Публикувано в 28.08.2018 г. 11:56:12 ч. | | |
Здравейте, богове,

Напоследък използвам Setup Project за пакетиране на програмата, която се нарича A.
Поради изискванията на проекта трябваше да инсталирам инсталационен пакет B, пакетиран от InstallShield, по време на инсталацията на A.
В това. След инсталация и това. Преди деинсталиране добавят кода "Инсталация" и "Обратна инсталация" B съответно.
Въпреки това, не можеше да се изпълни гладко и setup.log, генериран от B, получи ResultCode=-3, но причината е неизвестна...

Моля богът на борда да помогне, този проблем тревожи малкия ми брат отдавна и не успях да го реша... Благодарим ви!!

В следващия код кодът в InstallerHelper_AfterInstall и InstallerHelper_BeforeUninstall се поставя в новосъздадената C# конзолна програма, но може да работи нормално.
WaitforExit() също може да се забие гладко, а B инсталационният пакет също може да се изпълнява гладко, ResultCode=0.

Кодът е следният:
--
използвайки System;
използвайки System.Collections;
използвайки System.Collections.Generic;
използвайки System.ComponentModel;
използвайки System.Configuration.Install;
използвайки System.Linq;
използвайки System.Threading.Tasks;
използвайки System.Configuration;
използвайки System.Windows;
използвайки System.IO;
използвайки System.Diagnostics;
използване на System.Threading;

namespace FRWebService
{
    [RunInstaller(вярно)]
    public partial class InstallerHelper : Installer
    {
        public InstallerHelper()
        {

            InitializeComponent();

            това. BeforeInstall += нов InstallEventHandler(InstallerHelper_BeforeInstall);
            това. AfterInstall += нов InstallEventHandler(InstallerHelper_AfterInstall);

            това. BeforeUninstall += нов InstallEventHandler(InstallerHelper_BeforeUninstall);
            това. AfterUninstall += нов InstallEventHandler(InstallerHelper_AfterUninstall);
        }

        private void InstallerHelper_BeforeUninstall(object sender, InstallEventArgs e)
        {
            Опитай
            {
                String arg = "/s /uninst";
                Процес p = Process.Start("C:\\Program Files\\Test\\setup_io.exe", arg);
                p.ЧакайтеЗаВъвеждане();
                p.WaitForExit();

            }
            catch (Изключение напр.)
            {

            }
        }

        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)
        {
            Опитай
            {
                String arg = "/s";
                Процес p = Process.Start("C:\\Program Files\\Test\\setup_io.exe", arg);
                p.ЧакайтеЗаВъвеждане();
                p.WaitForExit();
            }
            catch (Изключение напр.)
            {

            }
        }

        private void InstallerHelper_AfterUninstall(object sender, InstallEventArgs e)
        {


        }


        Код, който да се изпълнява при инсталиране на приложението
        public override void Install(System.Collections.IDictionary stateSaver)
        {
            System.Diagnostics.Debugger.Launch();
            базово. Install (stateSaver);
            System.Windows.Forms.MessageBox.Show ("Инсталиране на приложение...");
        }

        public override void Uninstall(System.Collections.IDictionary stateSaver)
        {
            System.Diagnostics.Debugger.Launch();
            базово. Uninstall (stateSaver);
            System.Windows.Forms.MessageBox.Show ("Деинсталиране на приложение...");
        }

    }
}
--





Предишен:Linq имплементира не е в и в условни заявки в SQL
Следващ:MySQL прави таблици с заявки, изградени в определен момент в база данни
Публикувано в 28.08.2018 г. 13:02:49 ч. |
Можеш ли да поставиш setup.log логове? Или да пусна инсталацията като администратор и да я пробвам?
 Хазяин| Публикувано в 28.08.2018 г. 14:21:53 ч. |
Тази публикация беше последно редактирана от yishiang0217 на 3.9.2018 09:47
Администратор публикувано на 28.08.2018 13:02
Можеш ли да поставиш setup.log логове? Или да пусна инсталацията като администратор и да я пробвам?

Здравейте, администратори,

Радвам се да получа вашия отговор, ето отговорите на вашите въпроси:

1.
Това е всичко setup.log за което става дума @@
--
[ОтговорРезултат]
ResultCode=-3
--
Или InstallShield може да печата повече?!

2.
Setup Project ще генерира два файла, единият е msi, а другият е exe, опитах да стартирам exe като администратор, но не можах...

P.S. Частта, която досега е успешна, е... Пусни B инсталационния пакет при AfterInstall, но не използвай WaitForExit, можеш да го инсталираш плавно и безшумно... Но тъй като B е инсталиран и опакован, все още трябва да направя някои операции...
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com