从System.Configuration.Install.Installer类显示WPF窗口

时间:2010-05-17 23:35:26

标签: c# wpf windows-installer

问候所有人,

我有一个问题。我创建了一个WPF应用程序。所以,我自然为它创建了一个安装程序(Visual Studio安装项目)。

在安装程序的Commit部分中,我想启动一个WPF窗口,这是我的配置向导。

所以我创建了一个Installer类,覆盖了Commit方法,并在方法中添加了以下内容: Application theApp = new Application;
theApp.Run (new MyWPFWizardWindow());

我一直收到错误:
调用线程必须是STA,因为许多UI组件都需要这个。

没问题,因为它是一个GUI应用程序。但是,对于我的生活,我不能让安装程序启动我的窗口。我试过把[STAThread]放在方法上。我尝试启动一个线程并将ApartmentState设置为STA。我猜这是我看起来很简单的事情。有人有什么想法?

提前致谢..

CMB ..

1 个答案:

答案 0 :(得分:1)

在启动线程之前将AppartmentState设置为STA 应该可以解决问题......

尝试这样做,而不是

new Application().Run(new MyWPFWizardWindow());

DO

new MyWPFWizardWindow().ShowDialog();

...这非常相似,但不会创建Application类的实例(不能有多个)。