Wix - Unable to launch external exe upon building in jenkins - visual-studio-2012

I am facing a strange issue. I have build the wix installer and when the setup is complete an external exe (MyEx.exe) is launched. This works absolutely fine in my local machine.
I use VS 2012 to Build.
Below is the piece of code
<Publish Dialog="MyExitDialog" Control="Finish" Event="EndDialog" Value="Return" Order="999">1</Publish>
<Publish Dialog="MyExitDialog" Control="Finish" Order="1" Event="DoAction" Value="LaunchApplication">LAUNCHAPPONEXIT and NOT Installed</Publish>
MyExitDialog.wxs file
<?xml version="1.0"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<UI>
<Dialog Id="MyExitDialog" Width="370" Height="270" Title="[ProductName]" NoMinimize="yes">
<Control Id="Finish" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Cancel="yes" Text="!(loc.WixUIFinish)" />
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Disabled="yes" Text="!(loc.WixUICancel)" />
<Control Id="Bitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="!(loc.ExitDialogBitmap)" />
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="!(loc.WixUIBack)" />
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
<Control Id="Description" Type="Text" X="135" Y="70" Width="220" Height="20" Transparent="yes" NoPrefix="yes" Text="!(loc.ExitDialogDescription)" />
<Control Id="Title" Type="Text" X="135" Y="20" Width="220" Height="60" Transparent="yes" NoPrefix="yes" Text="!(loc.ExitDialogTitle)" />
<Control Id="LaunchCheckBox" Type="CheckBox" X="10" Y="243" Width="170" Height="17" Property="LAUNCHAPPONEXIT" Hidden="yes" CheckBoxValue="1" Text="Launch NetappAgent Configuration">
<Condition Action="show">NOT Installed</Condition>
</Control>
</Dialog>
<InstallUISequence>
<Show Dialog="MyExitDialog" OnExit="success" />
</InstallUISequence>
<AdminUISequence>
<Show Dialog="MyExitDialog" OnExit="success" />
</AdminUISequence>
</UI>
</Fragment>
</Wix>
and MyMainFile.wxs
<Condition Message="!(loc.InstallationPrivMessage)">Privileged</Condition>
<Property Id="WixShellExecTarget" Value="$(var.SourceDir)\MyExe.exe" />
<CustomAction Id="LaunchApplication" BinaryKey="WixCA" DllEntry="WixShellExec"/>.
Issue is when the same piece of code is uploaded on a Jenkins Machine. Build is successful but external exe (MyExe.exe) does not launch when I click finish at the end.
I use MSBuild v4.0.30319 and Ant 1.9.0.
I am not sure where should I start debugging. Any help will be appreciated.
Update:
Upon further investigation, I came to know that $(var.SourceDir)\MyExe.exe could be culprit. I think is valid on compile not on the build time.
I have also tried using [#MyExe.exe] but even that not worked.
MSI (c) (EC:68) [16:56:37:679]: Doing action: MyExitDialog
Action 16:56:37: MyExitDialog.
Action start 16:56:37: MyExitDialog.
Action 16:56:37: MyExitDialog. Dialog created
MSI (c) (EC:70) [16:56:48:138]: Doing action: LaunchApplication
Action 16:56:48: LaunchApplication.
Action start 16:56:48: LaunchApplication.
MSI (c) (EC:10) [16:56:48:153]: Invoking remote custom action. DLL: C:\Users\ssachin\AppData\Local\Temp\MSIF5F.tmp, Entrypoint: WixShellExec
MSI (c) (EC!B0) [16:56:48:191]: Note: 1: 2715 2: MyExe.exe
MSI (c) (EC!B0) [16:56:48:191]: Note: 1: 2715 2: MyExe.exe
Action ended 16:56:48: LaunchApplication. Return value 3.
DEBUG: Error 2896: Executing action LaunchApplication failed.
The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2896. The arguments are: LaunchApplication, ,
Action ended 16:56:48: MyExitDialog. Return value 3.
Action ended 16:56:48: INSTALL. Return value 1.
MSI (c) (EC:68) [16:56:48:196]: Destroying RemoteAPI object.
MSI (c) (EC:54) [16:56:48:197]: Custom Action Manager thread ending.

How do you know that it is not launched? Are you sure that it is not launched, or maybe you simply can't see it? Jenkins runs in it's own session. Anything spawned by Jenkins will therefore run in it's own session as well, not visible to logged in user session.
Read my answer here on tips how to make Jenkins trigger an .exe to be visible to user session: Open Excel on Jenkins CI

Related

Freeswitch 1.8 and playback of tone_stream

I have an example dialplan in a form of:
<include>
<context name="application">
<extension name="play tone">
<condition>
<action application="log" data="INFO *****Playing tone1***** "/>
<action application="answer"/>
<action application="sleep" data="1000"/>
<action application="playback" data="tone_stream://%(1850,4150,475,425);loops=-1" />
<action application="hangup"/>
</condition>
</extension>
</context>
</include>
This bit works with Freeswitch 1.4 but is not working with Freeswitch 1.8, I am getting debug output like this:
2019-05-29 11:14:59.971372 [DEBUG] sofia.c:7291 Channel sofia/sip-profile/447872019798#127.0.0.1:5062 entering state [ready][200]
EXECUTE sofia/sip-profile/447872019798#127.0.0.1:5062 sleep(1000)
EXECUTE sofia/sip-profile/447872019798#127.0.0.1:5062 playback(tone_stream://%(1850,4150,475,425);loops=-1)
2019-05-29 11:15:00.971418 [ERR] switch_core_file.c:304 Invalid file format [tone_stream] for [%(1850,4150,475,425);loops=-1]!
EXECUTE sofia/sip-profile/447872019798#127.0.0.1:5062 hangup()
I have consulted documentation:
https://freeswitch.org/confluence/display/FREESWITCH/mod_tone_stream
https://freeswitch.org/confluence/display/FREESWITCH/Tone_stream
Not sure what to think and not sure where to look for some answers. Is it my configuration somewhere that disables tone_streams? Is it a bug in the new version?
For any hint or outright solution I would be grateful.

Wix installer fails to create application pools in IIS 10

We are having trouble creating our app pools using wix. This problem happens only on server 2016 or iis version >10.
This is the error with verbose log turned on.
Its complaining about path not found or trying to access a path that has not been created or does not have permissions. The installer fails with rollback.
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe" -norestart -s W3SVC/1/ROOT/INFO-SUITE
CAQuietExec: Microsoft (R) ASP.NET RegIIS version 4.0.30319.0
CAQuietExec: Administration utility to install and uninstall ASP.NET on the local machine.
CAQuietExec: Copyright (C) Microsoft Corporation. All rights reserved.
CAQuietExec: Start registering ASP.NET (4.0.30319.0) recursively at W3SVC/1/ROOT/MyApplication.
CAQuietExec: Installation stopped because the specified path (W3SVC/1/ROOT/MyApplication) is invalid.
CAQuietExec: Error 0x80070001: Command line returned an error.
CAQuietExec: Error 0x80070001: CAQuietExec Failed
This is the wix xml which creates the app pool.The same installer msi works on windows 8. The IISMajorVersion is 10 according to the log. I also ran dsim enable feature IIS-ASPNET45 to make sure Asp.net is registered. I also checked the registry. THis is only when the wix creates the app pools. We don't have a problem when its an upgrade or we manaully create the app pools.
<Fragment>
<PropertyRef Id="IISMAJORVERSION" />
<Component Id="Component.WebServer.WebServices.IISSite.v10" Guid="F73DACBB-EF8B-4C8E-8B6A-6610670D991F" Directory="WEBSERVICES_INSTALLLOCATION">
<Condition><![CDATA[IISMAJORVERSION >= 10]]> </Condition>
<CreateFolder />
<iis:WebAppPool Id="WebAppPool.WebServices.IISSite.v10"
Name="[WEBSERVICESSERVERINFO_IISAPPNAME]"
ManagedRuntimeVersion="v4.0"
ManagedPipelineMode="integrated"
Identity="networkService"
IdleTimeout="0" />
<iis:WebVirtualDir Id="WebVirtualDir.WebServices.IISSite.v10"
Directory="WEBSERVICES_INSTALLLOCATION"
Alias="[WEBSERVICESSERVERINFO_IISAPPNAME]"
WebSite="WebSite">
<iis:WebDirProperties Id="WebDirProperties.WebServices.IISSite.v10"
Execute="yes"
Script="yes"
Read="yes"
WindowsAuthentication="yes"
AnonymousAccess="yes"
IIsControlledPassword="yes" />
<iis:WebApplication Id="WebApplication.WebServices.IISSite.v10"
Name="[WEBSERVICESSERVERINFO_IISAPPNAME]"
WebAppPool="WebAppPool.WebServices.IISSite.v10" />
</iis:WebVirtualDir>
</Component>
</Fragment>
<ComponentGroupRef Id="ComponentGroup.WebServer.WebServices.Files" />
<ComponentRef Id="Component.WebServer.WebServices.SetWebConfig" />
<ComponentRef Id="Component.WebServer.WebServices.Certificates" />
<ComponentRef Id="Component.WebServer.WebServices.IISSite.v10" />
I took care of my own problem. The condition had to be = "10"]]> instead of = 10]]>

Error while setting up local cluster with service fabric SDK version 2.1.150.X

While creating local cluster with latest service fabric SDK, I got following errors with Visual Studio 2013 Update 5 while it works fine with Visual Studio 2015 Update 3:
Cluster manifest validation failed with exception System.ArgumentException: Error occurs in section Federation, parameter System.
Fabric.Management.ServiceModel.SettingsOverridesTypeSectionParameter...
OR
Cluster manifest validation failed with exception System.ArgumentException: Section FaultAnalysisService found in cluster manifest but not Configurations.csv in system.fabric.management.dll
What I did to fix it?
If you closely look into error, you will find that following two files settings are not compatible.
C:\Program Files\Microsoft Service Fabric\bin\Fabric\Fabric.Code\Configurations.csv
and
C:\Program Files\Microsoft SDKs\Service Fabric\ClusterSetup\NonSecure\ClusterManifestTemplate.xml
Just disable following in ClusterManifestTemplate.xml:
<Section Name="Federation">
<Parameter Name="NodeIdGeneratorVersion" Value="V3" />
<!-- <Parameter Name="UnresponsiveDuration" Value="0" /> -->
</Section>
and
<!-- <Section Name="FaultAnalysisService">
<Parameter Name="TargetReplicaSetSize" Value="5" />
<Parameter Name="MinReplicaSetSize" Value="3" />
</Section> -->

Windows universal application (WIN 10) app manifest validation error

I found error in Blank app (Windows Universal) template in Visual Studio 2015 RC.
It is some mismatch inside schemas.
error 0xC00CE014: App manifest validation error: The app manifest must
be valid as per schema: Line 23, Column 4, Reason: Element
'{http:/schemas.microsoft.com/appx/manifest/foundation/windows10}TargetDeviceFamily'
is unexpected according to content model of parent element
'{http:/schemas.microsoft.com/appx/manifest/foundation/windows10}Dependencies'.
Expecting:
{http:/schemas.microsoft.com/appx/manifest/foundation/windows10}TargetPlatform.
Package.appxmanifest:
<?xml version="1.0" encoding="utf-8"?>
<Package
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
IgnorableNamespaces="uap mp">
<Identity
Name="a29f94a4-dc5e-4558-9497-90c6190f49ef"
Publisher="CN=Petr"
Version="1.0.0.0" />
<mp:PhoneIdentity PhoneProductId="a29f94a4-dc5e-4558-9497-90c6190f49ef"
PhonePublisherId="00000000-0000-0000-0000-000000000000"/>
<Properties>
<DisplayName>App1</DisplayName>
<PublisherDisplayName>Petr</PublisherDisplayName>
<Logo>Assets\StoreLogo.png</Logo>
</Properties>
<Dependencies>
<TargetDeviceFamily Name="Windows.Universal"
MinVersion="10.0.10069.0"
MaxVersionTested="10.0.10069.0" />
</Dependencies>
<Resources>
<Resource Language="x-generate"/>
</Resources>
<Applications>
<Application Id="App"
Executable="$targetnametoken$.exe"
EntryPoint="App1.App">
<uap:VisualElements
DisplayName="App1"
Square150x150Logo="Assets\Logo.png"
Square44x44Logo="Assets\SmallLogo.png"
Description="App1"
BackgroundColor="#464646">
<!--ForegroundText="dark"-->
<uap:SplashScreen Image="Assets\SplashScreen.png" />
</uap:VisualElements>
</Application>
</Applications>
<Capabilities>
<Capability Name="internetClient" />
</Capabilities>
</Package>
If you are getting this error when deploying the app to your Windows system, it means that you are trying to deploy/install the app package on an older Windows 10 Preview system. Please ensure that you have the Windows 10 version that was publicly announced at //Build.
http://blogs.windows.com/bloggingwindows/2015/04/29/new-windows-10-insider-preview-build-10074-now-available/

Why does Mule application behave strangely in Linux server?

I work with Mule and I have some problem.
My mainflow.xml:
<?xml version="1.0" encoding="UTF-8"?><mule xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:vm="http://www.mulesoft.org/schema/mule/vm"
xmlns:file="http://www.mulesoft.org/schema/mule/file" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:spring="http://www.springframework.org/schema/beans" xmlns:core="http://www.mulesoft.org/schema/mule/core"
xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:management="http://www.mulesoft.org/schema/mule/management"
version="CE-3.3.0"
xsi:schemaLocation="http://www.mulesoft.org/schema/mule/vm http://www.mulesoft.org/schema/mule/vm/current/mule-vm.xsd http://www.mulesoft.org/schema/mule/file http://www.mulesoft.org/schema/mule/file/current/mule-file.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd http://www.mulesoft.org/schema/mule/management http://www.mulesoft.org/schema/mule/management/current/mule-management.xsd">
<!-- For show MX4J -->
<management:jmx-default-config port="1098"
registerMx4jAdapter="true">
</management:jmx-default-config>
<management:jmx-mx4j-adaptor jmxAdaptorUrl="http://localhost:9999"
login="admin" password="admin">
</management:jmx-mx4j-adaptor>
<management:jmx-server enableStatistics="true">
<management:connector-server
url="service:jmx:rmi:///jndi/rmi://localhost:1099/server" rebind="false" />
</management:jmx-server>
<management:rmi-server createRegistry="true" />
<!-- For get statistics -->
<notifications>
<notification event="EXCEPTION" />
<notification event="ENDPOINT-MESSAGE" />
<notification-listener ref="endpointNotificationLogger" />
<notification-listener ref="statesModuleExceptionNotificationListener" />
</notifications>
<spring:beans>
<!-- For show MX4J -->
<spring:bean id="exporter"
class="org.springframework.jmx.export.MBeanExporter" lazy-init="false">
<spring:property name="beans">
<spring:map>
<spring:entry key="bean:name=MBean1"
value-ref="MBean1" />
<spring:entry key="bean:name=MBean2"
value-ref="MBean2" />
</spring:map>
</spring:property>
</spring:bean>
<spring:bean id="MBean1" name="MBean1"
class="MBean1"></spring:bean>
<spring:bean id="MBean2" name="MBean2"
class="MBean2"></spring:bean>
<!-- For get statistics -->
<spring:bean name="endpointNotificationLogger"
class="MyEndpointNotificationListener" />
<spring:bean name="myExceptionNotificationListener"
class="MyExceptionNotificationListener" />
<spring:bean id="MyBean" name="MyBean"
class="MyBean">
</spring:bean>
</spring:beans>
<!-- <file:connector name="input" autoDelete="true" doc:name="File" />-->
<file:connector name="inputFileConnector" autoDelete="true" doc:name="File" >
<service-overrides messageReceiver="myFileMessageReceiver"/>
</file:connector>
<flow name="UnpackHandler" doc:name="UnpackHandler">
...
</flow>
<flow name="XmlToCsvTransformHandler" doc:name="XmlToCsvTransformHandler">
...
</flow>
Everything works OK in Tomcat. But after that I commit changes to SVN, checkout everything, package without changes and deploy app in Tomcat my application do not work!
The latest text in logs of Tomcat for my application:
DEBUG 18.12.2014 15:12:08 997 - DisposableBeanAdapter.invokeCustomDestroyMethod - Invoking destroy method 'dispose' on bean with name '_muleSystemModel'
INFO 18.12.2014 15:12:08 997 - ModelLifecycleManager.fireDisposePhase - Disposing model: _muleSystemModel
And there are no any logs about errors...
When application works OK, after this lines I see
DEBUG 18.12.2014 10:59:53 765 - MuleXmlBuilderContextListener.initialize - Mule config file(s): WEB-INF/classes/mainflow.xml
If I have this error and delete from mainflow.xml parts for mx4j and notifications everything works again:
<?xml version="1.0" encoding="UTF-8"?><mule xmlns="http://www.mulesoft.org/schema/mule/core" mlns:vm="http://www.mulesoft.org/schema/mule/vm" xmlns:file="http://www.mulesoft.org/schema/mule/file" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:spring="http://www.springframework.org/schema/beans" xmlns:core="http://www.mulesoft.org/schema/mule/core" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="CE-3.3.0" xsi:schemaLocation="http://www.mulesoft.org/schema/mule/vm http://www.mulesoft.org/schema/mule/vm/current/mule-vm.xsd http://www.mulesoft.org/schema/mule/file http://www.mulesoft.org/schema/mule/file/current/mule-file.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd ">
</spring:beans>
<file:connector name="input" autoDelete="true" doc:name="File" />
<flow name="UnpackHandler" doc:name="UnpackHandler">
...
</flow>
<flow name="XmlToCsvTransformHandler" doc:name="XmlToCsvTransformHandler">
...
</flow>
After I write parts for mx4j and notifications step by step, do not paste all text of file what I take from SVN, it works again! So there is no difference between mainflow.xml when application works and doesn't work.
This behavior is in Linux server. In the Windows server and in my local machine everything is OK. I thought about differences between slashes, but I don't write slashes...
Why application behaves so strangely?
With the information you provide I can only guess that you have some logic in the notifications that hangs them if something on which they are dependedant is not already initializated somehow.
The fact that later it does work would somehow indicate this. I can suggest you to use in the beans the attribute depends-on to make sure it's initialized after your bean dependencies in case there are.

Resources