Wix, managed custom actions
От: Аноним  
Дата: 10.07.08 18:59
Оценка:
Народ, помогите разобраться. Пытаюсь создать свой кастом экшн на С#:

public class CustomActions
    {
        [CustomAction]
        public static ActionResult CustomAction1(Session session)
        {
            session.Log("Begin CustomAction1");
            Form1 form = new Form1();
            if (form.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                return ActionResult.Success;
            return ActionResult.UserExit;
        }
    }


<Binary Id='MyDialog.dll' SourceFile='$(var.MyDialog.TargetPath)'/>
    <CustomAction Id='MyDialog' Return='check' DllEntry='CustomAction1' BinaryKey='MyDialog.dll' />

    <InstallExecuteSequence>
      <Custom Action="MyDialog" After="InstallFiles"/>
    </InstallExecuteSequence>



При запуске инсталляции получаю ошибку:
"There is a problem with this windows installer package. A DLL required for this install to complete could not be run..."

Кто знает в чем тут дело?

Версия викса 3.0.4116.
Re: Wix, managed custom actions
От: Юнусов Булат Россия  
Дата: 28.07.08 19:37
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Кто знает в чем тут дело?

1. Надо wix обновить, он раньше референсы не отслеживал.
2. Код который вызывает Windows Forms надо запускать отдельным потоком со STA апартментом.
Примерно так:
[CustomAction]
public static ActionResult CustomAction1(Session session)
{
    var thread = new Thread(() =>
    {
        using (var dlg = new FooDialog())
        {
            dlg.Foo= session["FOO"];

            if (dlg.ShowDialog() == DialogResult.OK)
            {
                session["FOO"] = dlg.Foo;
            }
        }

    }) { ApartmentState = ApartmentState.STA };

    thread.Start();
    thread.Join();
    return ActionResult.Success;
}
wix managed custom actions windows forms
Re[2]: Wix, managed custom actions
От: Eclipse  
Дата: 31.07.08 06:55
Оценка:
Оп-па, что-то я оказывается пропустил. Мне казалось, что в инсталляторах нельзя было использовать managed код, можно где-нить поглядеть инфу по этой теме?
Re[3]: Wix, managed custom actions
От: Юнусов Булат Россия  
Дата: 03.08.08 11:40
Оценка:
Здравствуйте, Eclipse, Вы писали:

E>Оп-па, что-то я оказывается пропустил. Мне казалось, что в инсталляторах нельзя было использовать managed код, можно где-нить поглядеть инфу по этой теме?


http://www.rsdn.ru/Forum/message/2955801.aspx
Автор: algol
Дата: 19.05.08

http://blog.deploymentengineering.com/2008/05/deployment-tools-foundation-dtf-custom.html
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.