Re: [WiX-users] Powershell running command isn't working correctly
It dawned on me that I should output the $prismName variable to a file to see if it was empty, and sure enough it was. I used this to test that: $prismName = (Get-AppxPackage -Name PRISMContingency).PackageFamilyName $prismName | Out-File -FilePath C:\test.txt C:\Windows\system32\CheckNetIsolation.exe "loopbackexempt" "-a" "-n=$($prismName)" When I look at my custom actions in WIX, my windows app should be installed before the Get-AppxPackage command is ran to get the package family name as you can see below. The InstallAppx is a powershell script to sideload a windows all and I need to run the UnblockService afterward the app is installed. Again, when I run this powershell script after my installer is finished, and therefore my InstallAppx powershell script is finished, it works fine. It acts like install isn't "finished" before I try to run my unblockservice. NOT Installed NOT Installed NOT Installed NOT Installed NOT Installed NOT Installed On Thu, Jan 22, 2015 at 8:08 PM, Justin Dyer wrote: > I am having trouble running a powershell command in my wix installer. I > have a CustomAction defined in my installer that runs a powershell script. > > The powershell script is the following: > >> $prismName = (Get-AppxPackage -Name PRISMContingency).PackageFamilyName >> C:\Windows\system32\CheckNetIsolation.exe "loopbackexempt" "-a" >> "-n=$($prismName)" > > > If I run this powershell script from powershell, it works properly > assuming I am running it as administrator. However, it is failing to run > that script properly during installation. When I look at the log file > during install, I see this: > > MSI (s) (30:E0) [16:52:23:881]: Executing op: >> CustomActionSchedule(Action=CustomAction.UnblockService,ActionType=3073,Source=BinaryData,Target=CAQuietExec,CustomActionData="C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe" >> -NoProfile -NonInteractive -InputFormat None -ExecutionPolicy Bypass -File >> "C:\Program Files (x86)\PRISM Contingency\UnblockService.ps1") >> MSI (s) (30:BC) [16:52:23:897]: Invoking remote custom action. DLL: >> C:\Windows\Installer\MSI8C9B.tmp, Entrypoint: CAQuietExec >> CAQuietExec: Error: Invalid Parameters >> CAQuietExec: >> CAQuietExec: Usage: >> CAQuietExec: CheckNetIsolation LoopbackExempt >> CAQuietExec:List of operations: >> CAQuietExec:-a - Add the AppContainer or Package Family to >> the loopback >> CAQuietExec: exempted list. >> >> CAQuietExec:-d - Delete an AppContainer or Package Family >> from the >> CAQuietExec: loopback exempted list. >> >> CAQuietExec:-c - Clear the list of loopback exempted >> AppContainers and >> CAQuietExec: Package Families. >> >> CAQuietExec:-s - Show a list of loopback exempted >> AppContainers and >> CAQuietExec: Package Families. >> >> CAQuietExec: >> CAQuietExec:List of arguments: >> CAQuietExec:-n= - AppContainer Name or Package Family Name. >> >> CAQuietExec:-p= - AppContainer or Package Family Security >> Identifier (SID). >> CAQuietExec:-? - Displays this help message for the >> LoopbackExempt module. >> CAQuietExec: > > > It is almost as if the command for CheckNetIsolation isn't formed > correctly, but when I run the script myself I am not getting this problem. > Any ideas why the command arguments could be malformed? > -- New Year. New Location. New Benefits. New Data Center in Ashburn, VA. GigeNET is offering a free month of service with a new server in Ashburn. Choose from 2 high performing configs, both with 100TB of bandwidth. Higher redundancy.Lower latency.Increased capacity.Completely compliant. http://p.sf.net/sfu/gigenet ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Powershell running command isn't working correctly
I am having trouble running a powershell command in my wix installer. I have a CustomAction defined in my installer that runs a powershell script. The powershell script is the following: > $prismName = (Get-AppxPackage -Name PRISMContingency).PackageFamilyName > C:\Windows\system32\CheckNetIsolation.exe "loopbackexempt" "-a" > "-n=$($prismName)" If I run this powershell script from powershell, it works properly assuming I am running it as administrator. However, it is failing to run that script properly during installation. When I look at the log file during install, I see this: MSI (s) (30:E0) [16:52:23:881]: Executing op: > CustomActionSchedule(Action=CustomAction.UnblockService,ActionType=3073,Source=BinaryData,Target=CAQuietExec,CustomActionData="C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe" > -NoProfile -NonInteractive -InputFormat None -ExecutionPolicy Bypass -File > "C:\Program Files (x86)\PRISM Contingency\UnblockService.ps1") > MSI (s) (30:BC) [16:52:23:897]: Invoking remote custom action. DLL: > C:\Windows\Installer\MSI8C9B.tmp, Entrypoint: CAQuietExec > CAQuietExec: Error: Invalid Parameters > CAQuietExec: > CAQuietExec: Usage: > CAQuietExec: CheckNetIsolation LoopbackExempt > CAQuietExec:List of operations: > CAQuietExec:-a - Add the AppContainer or Package Family to > the loopback > CAQuietExec: exempted list. > > CAQuietExec:-d - Delete an AppContainer or Package Family > from the > CAQuietExec: loopback exempted list. > > CAQuietExec:-c - Clear the list of loopback exempted > AppContainers and > CAQuietExec: Package Families. > > CAQuietExec:-s - Show a list of loopback exempted > AppContainers and > CAQuietExec: Package Families. > > CAQuietExec: > CAQuietExec:List of arguments: > CAQuietExec:-n= - AppContainer Name or Package Family Name. > > CAQuietExec:-p= - AppContainer or Package Family Security > Identifier (SID). > CAQuietExec:-? - Displays this help message for the > LoopbackExempt module. > CAQuietExec: It is almost as if the command for CheckNetIsolation isn't formed correctly, but when I run the script myself I am not getting this problem. Any ideas why the command arguments could be malformed? -- New Year. New Location. New Benefits. New Data Center in Ashburn, VA. GigeNET is offering a free month of service with a new server in Ashburn. Choose from 2 high performing configs, both with 100TB of bandwidth. Higher redundancy.Lower latency.Increased capacity.Completely compliant. http://p.sf.net/sfu/gigenet ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Adding service installation to wix installer
I followed the same pattern as I did with my windows app by adding wixproj with this. Shouldn't this have copied over my files? false INSTALLFOLDER ComponentGroup.Service var.ServiceDir true ..\PRISMContingencyService\bin\$(Configuration)\ $(DefineConstants);ServiceDir=$(ServiceDir) On Wed, Dec 31, 2014 at 4:42 PM, Phil Wilson wrote: > In general you just add your dependent Dlls as components under that > DirectoryRef that has the service in it. Then they get installed to > the same folder. The more complicated issue is that you named things > (like sql lite) that often have their own redist packages. For > example, Log4Net seems to come from Crystal Reports, perhaps they have > a merge module you can include, maybe this > > http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_redist_install_64bit_13_0.zip > --- > Phil Wilson > > > On Tue, Dec 30, 2014 at 6:03 PM, Justin Dyer > wrote: > > I am completely new to wix, so bare with me here. I have followed a guide > > here > > > http://nicholasarmstrong.com/2014/08/sideloading-windows-8-apps-with-wix/ > > to create an installer that sideloads a windows 8.1 application. I have > > that working after messing with it for a while. I also want my wix > > installer to install a service. My service has a number of dependency > DLLs > > such as log4net, sqlite, etc. I tried following this guide > > http://www.talksharp.com/wix-toolset-install-windows-service to > integrate > > what I saw there into my existing installer that does the sideloading. At > > first, the installer was place the service executable in the installation > > directory, but there would not be any of the included DLLs necessary for > it > > to run. I am just lost at this point trying to take those two examples > and > > merge them into what I want working. > > > > I have added the service project as a reference to my wix project. > > > > I have also added this to my wixproj file: > > > > > > > ..\PRISMContingencyService\bin\$(Configuration)\ > > > > > $(DefineConstants);ServiceDir=$(ServiceDir) > > > > > > > > > > false > > INSTALLFOLDER > > ComponentGroup.Service > > var.ServiceDir > > true > > > > > > > > > > In the config.wxi file I have a number of lines including: > > > > > > > > > > And I think this is the relevant part in the Setup.wxs file that I can't > > figure out: > > > Level="1"> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Source="[INSTALLFOLDER]\$(var.ServiceExeName)" KeyPath="yes" /> > > > > > > > > > Type="ownProcess" > > Name="PRISMContingencyService" > > DisplayName="PRISMContingencyService" > > Description="Service for the PRISM Contingency Windows > > Application." > > Start="auto" > > ErrorControl="normal" > > Account="localSystem" > > Vital="yes"/> > > > > > Remove="uninstall" Name="PRISMContingencyService" Wait="yes" /> > > > > > > > > > > > -- > > Dive into the World of Parallel Programming! The Go Parallel Website, > > sponsored by Intel and developed in partnership with Slashdot Media, is > your > > hub for all things parallel software development, from weekly thought > > leadership blogs to news, videos, case studies, tutorials and more. Take > a > > look and join the conversation now. http://goparallel.sourceforge.net > > ___ > > WiX-users mailing list > > WiX-users@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > -- > Dive into the World of Parallel Programming! The Go Parallel Website, > sponsored by Intel and develope
[WiX-users] Adding service installation to wix installer
I am completely new to wix, so bare with me here. I have followed a guide here http://nicholasarmstrong.com/2014/08/sideloading-windows-8-apps-with-wix/ to create an installer that sideloads a windows 8.1 application. I have that working after messing with it for a while. I also want my wix installer to install a service. My service has a number of dependency DLLs such as log4net, sqlite, etc. I tried following this guide http://www.talksharp.com/wix-toolset-install-windows-service to integrate what I saw there into my existing installer that does the sideloading. At first, the installer was place the service executable in the installation directory, but there would not be any of the included DLLs necessary for it to run. I am just lost at this point trying to take those two examples and merge them into what I want working. I have added the service project as a reference to my wix project. I have also added this to my wixproj file: ..\PRISMContingencyService\bin\$(Configuration)\ $(DefineConstants);ServiceDir=$(ServiceDir) false INSTALLFOLDER ComponentGroup.Service var.ServiceDir true In the config.wxi file I have a number of lines including: And I think this is the relevant part in the Setup.wxs file that I can't figure out: http://schemas.microsoft.com/developer/msbuild/2003";> Debug x86 3.9 7e2754b4-2a4a-494f-99cf-599bc7a444f6 2.0 PRISMWixInstaller Package $(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets $(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets bin\$(Configuration)\ obj\$(Configuration)\ Debug bin\$(Configuration)\ obj\$(Configuration)\ ..\PRISMContingencyApp\bin\$(Configuration)\AppPackages\PRISMContingencyApp_Test\ $(DefineConstants);AppxDir=$(AppxDir) ..\PRISMContingencyService\bin\$(Configuration)\ $(DefineConstants);ServiceDir=$(ServiceDir) false INSTALLFOLDER ComponentGroup.App var.AppxDir true false INSTALLFOLDER ComponentGroup.Service var.ServiceDir true $(WixExtDir)\WixNetFxExtension.dll WixNetFxExtension $(WixExtDir)\WixUtilExtension.dll WixUtilExtension $(WixExtDir)\WixUIExtension.dll WixUIExtension PRISMContingencyApp {8434a0f9-e2aa-4686-8dec-04a8acd28ff3} True True Binaries;Content;Satellites INSTALLFOLDER PRISMContingencyService {5f9d6cc7-70ff-4904-b607-aad27f6c28dc} True Binaries;Content;Satellites INSTALLFOLDER -- Dive into the World of Parallel Programming! The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users