My WiX Installer v podstate vytvára Aplikačný bazén a webovú stránku v IIS a odkazuje na MVC Project adresár, ktorý som spomínal.
Aktuálny kód je schopný vytvoriť skratky pre ponuku Desktop & Start Menu.
Potrebujem ustanovenie, kde by sa mala skratka spustiť a webová stránka by mala byť otvorená po dokončení inštalácie.
Nasledujú moje úryvky kódu:
1) Definované adresáre
<Directory Id="ProgramMenuFolder">
<Directory Id="ApplicationProgramsFolder" Name="My Website"></Directory>
</Directory>
<Directory Id="DesktopFolder"/>
2) Ponuka Štart a odkazy na pracovnej ploche
<!--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>
Pri inštalácii, Desktop & Start Menu Skratky vytvoriť a môžu byť spustené na dvojité kliknutie.
3) Spustite začiarkavacie políčko aplikácie v dialógovom okne Ukončiť
<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>
Po kliknutí na tlačidlo Dokončiť sa inštalátor zavrie, ale webová stránka sa nespustí. Prosím, pomôžte!
PS: Názov skratky My Desktop je My App.lnk Tiež som sa snažil používať nasledujúci spôsob:
<CustomAction Id="LaunchApplication" Directory="DesktopFolder" ExeCommand="[DesktopFolder]My App.lnk /C My App.lnk" />
Ale stále žiadny úspech. Pomôžte mi to vyriešiť!
odpovede:
0 pre odpoveď č. 1Domnievam sa, že na vykonanie tohto úkonu potrebujete shell exec, ako je popísané tu:
Najmä toto: CustomAction Id = "LaunchApplication" BinaryKey = "WixCA" DllEntry = "WixShellExec" Impersonate = "áno"
pretože chcete urobiť shell otvoriť položku.
0 pre odpoveď č. 2
Našiel som odpoveď sám.
1. Vytvorili ste projekt CustomAction spolu s mojím inštalačným projektom a pridali nasledujúce položky:
public static ActionResult LaunchMyApp(Session session)
{
System.Diagnostics.Process.Start("http://localhost:1234");
return ActionResult.Success;
}
2. Aktualizované moje inštalačné súbory výrobok element v Product.wxs takto:
<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. Pridajte odkaz na projekt CustomAction do inštalačného projektu
Teraz som schopný spustiť svoju webovú stránku pri dokončení inštalácie. :)