0

最近、wix でインストーラーの作成を開始したので、かなり新しいものです。ユーザーがボタンをクリックすると、2 番目のインストーラーで .exe ファイルの使用を開始する必要があります。ただし、コードでこれを行うことはできません。コードのどのビットがどこに行くのか少し混乱していますが、次の3つの部分があります。

<Binary Id="HaspInstaller" SourceFile="visual studio 2010\Projects/ExampleInstaller/ExampleInstaller/bin/Debug/HASPUserSetup.exe" />

<CustomAction Id="HaspSetup" BinaryKey="HaspInstaller" ExeCommand="-switch" 
Execute="deferred" Return="check" HideTarget="no" Impersonate="no" />

<Control Id="Hasp" Type="PushButton" X="40" Y="60" Width="56" Height="34" Bitmap="yes"    Text="HaspImage" >
      <Publish Event="DoAction" Value="HaspSetup" /> 
    </Control>

どんな助けでも大歓迎です..:)

N

4

1 に答える 1

3

実行属性が遅延として設定されているため、ボタンをクリックしても実行されません。即時としてマークすると、ボタンをクリックするとすぐに実行されます。

Deferred は、昇格が必要で、InstallExecute シーケンスにスケジュールする必要がある場合に使用します。

http://wix.sourceforge.net/manual-wix3/qtexec.htmを見てみましょう。これはサイレント実行カスタム アクションです。このページでは、遅延実行と即時実行の両方を設定する方法がうまく説明されています。

また、その exe ファイルが別の msi のブートストラップである場合、既に 1 つの MSI トランザクションに参加しているため、まったく実行できません。その場合は、burn を使用して、さまざまなインストーラーを単一のインストーラーのユーザー エクスペリエンスにバンドルします。

于 2012-07-05T16:28:39.620 に答える