私のWiXインストーラは基本的にIISでアプリケーションプールとウェブサイトを作成し、私が言ったMVCプロジェクトディレクトリを指します。
現在のコードはデスクトップとスタートメニューのショートカットを作成することができます。
インストールが完了したら、ショートカットを起動してWebサイトを開くようにする必要があります。
以下は私のコードスニペットです。
1)定義済みディレクトリ
<Directory Id="ProgramMenuFolder">
<Directory Id="ApplicationProgramsFolder" Name="My Website"></Directory>
</Directory>
<Directory Id="DesktopFolder"/>
2)スタートメニューとデスクトップショートカット
<!--Start Menu & Desktop Shortcut-->
<Fragment>
<DirectoryRef Id="ApplicationProgramsFolder">
<Component Id="MyApplicationShortcuts" Guid="{371A9D20-AD52-4A7F-AA93-8BD6EB6A5D04}">
<util:InternetShortcut Id="ApplicationStartMenuShortcut" Directory="ApplicationProgramsFolder" Name="My App" Target="http://localhost:1234/"></util:InternetShortcut>
<util:InternetShortcut Id="ApplicationDesktopShortcut" Directory="DesktopFolder" Name="My App" Target="http://localhost:1234/"></util:InternetShortcut>
<RegistryValue Root="HKCU" Key="SoftwareCompanyMyWebsite" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
<RemoveFolder Id="ApplicationProgramsFolder" On="uninstall"/>
</Component>
</DirectoryRef>
</Fragment>
インストール時に、デスクトップとスタートメニューのショートカットが作成され、ダブルクリックで起動することができます。
3)終了ダイアログでアプリケーションチェックボックスを起動する
<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" Value="Launch My Application" />
<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOX" Value="1" />
<Property Id="WixShellExecTarget" Value="[#ApplicationDesktopShortcut]" />
<CustomAction Id="LaunchApplication" Directory="DesktopFolder" ExeCommand="http://localhost:1234/"/>
<UI>
<Publish Dialog="ExitDialog" Control="Finish" Event="DoAction" Value="LaunchApplication">WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT Installed</Publish>
</UI>
[完了]をクリックするとインストーラは終了しますが、Webサイトは起動しません。ヘルプをご覧ください。
P.S私のデスクトップショートカットの名前は 私のApp.lnk 私はまた次の方法を使ってみました:
<CustomAction Id="LaunchApplication" Directory="DesktopFolder" ExeCommand="[DesktopFolder]My App.lnk /C My App.lnk" />
しかし、まだ成功していません。私がこれを解決するのを手伝ってください!
回答:
回答№1は0ここで説明しているように、これを行うにはシェルexecが必要であると思われます。
特にこれ: CustomAction Id = "LaunchApplication" BinaryKey = "WixCA" DllEntry = "WixShellExec"偽装= "はい"
あなたはアイテムのシェルを開きたいからです。
回答№2の場合は0
私は自分で答えを見つけた。
1.インストーラプロジェクトと一緒にCustomActionプロジェクトを作成し、以下を追加しました。
public static ActionResult LaunchMyApp(Session session)
{
System.Diagnostics.Process.Start("http://localhost:1234");
return ActionResult.Success;
}
2.インストーラを更新しました 製品 Product.wxsの要素は次のとおりです。
<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" Value="Launch My Application" />
<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOX" Value="1" />
<Binary Id="LaunchWebsiteCA" SourceFile="D:MandarMyMVCApplicationWebsiteLaunchbinDebugWebsiteLaunch.CA.dll"/>
<CustomAction Id="LaunchWebsite" BinaryKey="LaunchWebsiteCA" DllEntry="LaunchMyApp" Return="check" Execute="immediate"></CustomAction>
<UI>
<Publish Dialog="ExitDialog" Control="Finish" Event="DoAction" Value="LaunchWebsite">WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT Installed</Publish>
</UI>
3. CustomActionプロジェクトの参照をインストーラプロジェクトに追加します。
これで、インストールが完了したときに自分のWebサイトを起動できます。