Did you file your Feature request here http://wixtoolset.org/issues/ ?
Did you consider using a addon bundle? I currently create a bundle with
A, B, and C. Then later I create another bundle with D (which releases on a
different schedule). (And much later again I can add D into the original
Util RegistrySearch has an attribute Winb64 that seems to be no by default.
If this is set to Yes, Would it mean it would look in the 32 bit registry
on 32bit OS and 64bit registry on 64 bit OS ?
Yes. but the attribute is RegistrySearch/@Win64. In the default situation
where it is no or does
My build process creates a bundle output folder tree with the sub folder
x64 and x86 under which there are platform specific driver packages:
bundle.exe
MSI1_Folder
MSI2_Folder
x64
Driver1Folder
Driver2Folder
x86
Driver1Folder
Driver2Folder
I have a situation where I need to
I think it would be advisable to follow the one-resource-per-component
pattern.
http://stackoverflow.com/questions/1602831/wix-one-file-per-component-or-several-files-per-component
--
View this message in context:
FYI - I just implemented a semi-custom
http://www.joyofsetup.com/2007/07/01/semi-custom-actions/ action using a
similar implementation as I found in the WixGamingExtension which calls
WcaAddTempRecord on the Registry table, to allow MSI to manage my registry
change. The CA code (specifically
Sorry I missed the meeting, but thanks for the blog/web-stream.
My first impression was for #3 red. I did not initially notice the
tri-color, but it is nice.
#2 was striking and caught my attention about as much as #3, but I also
thought it was big before I considered the comments of others.
I cannot speak to not using Burn, but in the last link that you originally
posted, the last post indicates that the information was posted earlier in
that thread, so I would guess that there is an MSI property that controls
it. WiX is open source so it should be in the code for research. I also
Using a Burn bundle set Bundle/@DisableModify=button
--
View this message in context:
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Creating-an-ARP-button-for-Uninstall-Change-vs-Uninstall-Change-tp7600885p7600886.html
Sent from the wix-users mailing list archive at Nabble.com.
I believe that there 'may' be a bug in the existing implementation along the
lines that Colin described or and related to the comment Burn should keep
registration in ARP when the first non-permanent package is installed (aka:
there is something Burn would do).. In the scenarios where I had
Stepping into the code posted, the cch was 165 (and in other experiments when
I increased the initialized size that I was requesting for the buffer, up to
195) , in all cases it was much less than = MAXDWORD / sizeof(WCHAR), yet
stepping through the code in a debugger, it steps into the code
I am trying to use StrAllocSecure to insure that an LPWSTR has sufficient
buffer size to subsequently try and copy a CRYPT_INTEGER_BLOB
https://msdn.microsoft.com/en-us/library/windows/desktop/aa381414(v=vs.85).aspx
structure's buffer into the LPWSTR, for the purpose of passing this to
My apologies again! It was a dumb typo on my part. As I was pasting an
example of my code into the editor to post here, I realized that the last
parameter of WcaAddTempRecord should be a ComponentId, and I had used the Id
of my custom xml element. Changing that parameter to the Id of the
I am looking for advice on how to sort out a problem I having using
WcaAddTempRecord. My immediate CA creates a BYTE array (an encrypted
'blob') which I need to write to the Registry as a REG_BINARY type value. I
am trying to use WcaAddTempRecord to the Registry table, ( using the code in
wix
While doing other research I came across these threads, and made note of them
in the event that I might need them in the future. They might be helpful to
you:
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Burn-Resume-Installation-Plan-td7579146.html
I guess I misread your question and assumed that you were using Burn. Given
that I came across those posts I thought they might be helpful but if you
are not using Burn I can't really make any suggestion.
I have only used the approach of putting each app and each driver in a
separate UI-less MSI
you need to use the link at the bottom of your post.
--
View this message in context:
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Remove-tp7600685p7600686.html
Sent from the wix-users mailing list archive at Nabble.com.
Those issues are discussed in the weekly on-line meeting, Tuesday evening,
and summarized in this blog
https://www.firegiant.com/blog/2015/6/16/wix-online-meeting-70-highlights/
. If I recall from the comments in the last meeting, the 'RC' will be
announced soon. The stable release is expected
It appears that you are using the WixStdBA, in which case you could implement
a BAFunctions.dll. There is a sample baFunctions.dll in the wix source zip
package that provides the details with examples. Also this old thread
I am in the process of converting an old legacy setup to Wix. I prefer to
use the APIs provided by the Wix toolset, rather than importing std
namespace, and in this case working with sensitive data I am looking for
advice on how to do this in a secure manner.
The old code uses std::tstring
Well after posting this message, again with a little more digging, I realized
that I was making the issue more complex than necessary:
Byte * stuff = (BYTE*)pwzSensitive;
hr = StrMaxLength(pwzSensitive, stuffSize);
ExitOnFailure(hr, Failed to set the buffer size.);
--
View this message in
Als using:
ReleaseNullStrSecure(pwzSensitive);
--
View this message in context:
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/C-CA-using-Wca-and-StrUtil-for-secure-data-tp7600677p7600679.html
Sent from the wix-users mailing list archive at Nabble.com.
I have not used HarvestProject (or Heat.exe with a Project), but I use
HarvestDirectory (which I prefer over calling heat.exe in a pre-build
event), after calling a script which moves my project files to the
directory. In this link
From the link provided:
Correct where “goes” means “installs to”.
...
1. I found the implementation at `Uuid.NewUuid` in `src\tools\wix\Uuid.cs`.
2. Seems to be derived from the full KeyPath of the component. So as long as
everything goes to the same place the GUID will not change.
I
What does the log in your %temp% folder indicate?
--
View this message in context:
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Impossible-to-install-Wix-3-8-or-3-9-tp7600658p7600660.html
Sent from the wix-users mailing list archive at Nabble.com.
I am just starting to create a new C++ CA, which will be driven by my Wix
CompilerExtension which schedules an Immediate CA that then schedules the
deferred CAs. In this situation I need to pass a password down to the CA.
I have read the MSDN entries about Custom Action Security, and advice from
Silly me and sorry for the noise. I see that I need to set in in my wixlib
authoring.
Sorry!
--
View this message in context:
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/WcaDoDeferredAction-amd-HiddenTarget-flag-tp7600669p7600670.html
Sent from the wix-users mailing list
I am seeing that every build, however, the GUID is the same.
The GUID is generated based on the source path so if it did not change then
the generated GUID will have the same result (appear to be the same GUID),
which is fine in most situations when a Component has a single resource.
See this
I prefer to us a RegistryValue as the KeyPath.
Component Id=CreateTheAppFolder
CreateFolder Directory=MyAppDataFolder /
RegistryValue Root=HKMU Key=MyAppRegKey Name=CreateTheAppFolder
Value=[MyAppDataFolder] Type=string KeyPath=yes /
/Component
The name and value could be
Look at this wip
http://wixtoolset.org/development/wips/3249-allow-ba-to-run-elevated-aync-process-through-engine/
, which I understand was implemented in wix 3.9. I have not used this
feature, but seems like what you are looking for.
--
View this message in context:
Rob's blog post here
http://robmensching.com/blog/posts/2007/6/1/quotsmart-cabbingquot-added-to-wix-toolset/
may be of interest to you.
--
View this message in context:
It is true that at compile time a Burn bundle must know about all of the
items in the chain for that particular bundle. A self updating bundle is
really a different issue, and the Wix toolset setup is an example
implementation. Look at the source under src\Setup\WixBA, UpdateViewModel,
for an
I believe that upgrading a bundle or msi, creating to use wix 3.7 tools, to a
later version of wix 3.x as being none-breaking and supported. However the
binary compatibility of a wix extension created with one version of 3.x does
not extend to a later version of wix 3.x. You need to recompile
There are some comments in this
https://www.firegiant.com/blog/2015/6/2/wix-online-meeting-68-highlights/
blog. I missed last nights meeting which is also summarized in another blog
post, but there is often a comment about the general plan in the weekly
meeting.
--
View this message in
I use amp;quot;%(SignBundleEngine.FullPath)amp;quot; and
amp;quot;%(SignBundle.FullPath)amp;quot; respectively.
I am not using /a, but that would depend on how the cert is managed. I
import a pfx into the current users personal store. Then I use /n and
provide the 'Issued To' name of the
I guess I do not know enough about Microsoft's Volume Shadow Copy driver to
provide advice. There are some curious return codes.
Regarding I receive Namespace prefix 'difxapp' is not defined That
sounds like a project which has code something like this, defined:
difxapp:Driver
The wixproj file is a MSBuild targets file. MSBuild .targets files do not
need to have a .targets extension. You can put the
HarvestDirectory/HeatFile targets in a .targets file (named as you wish) and
then in the .wixproj file add a 'Import' statement with the path of the
file. My code that is
I define an ICommand similar to what is found in src\Setup\WixBA\
InstallationViewModel.cs See ICommand LaunchNewsCommand or similar. The
xaml can then have something like:
lt;Hyperlink Command={Binding MyCommand}
With regard to showing a message, there are a number of different ways to
I recommend using the Wix DifxAppExtension. In response to your post here
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Driver-installation-fails-td7600354.html
did you learn anything by evaluating the setupapi log?
The installation finishes with no errors.
DpInstall has
The Engine.Command.Display object lets you know if your BA is running with or
without a UI.
see src\burn\inc\IBootstrapperApplicaiton.h near line 17
see src\burn\engine\core.cpp near line 854
An example in a managed BA is at: src\Setup\WixBA\WixBA.cs Run Method.
One approach is to use the
I agree with John's advice and this advice
http://www.joyofsetup.com/2010/02/08/introducing-lux-declarative-unit-testing-for-custom-actions/
.
I found it helpful to study the WixGamingExtension and other WixExtension
implementations, when learning to create CAs using the pattern recommended
I have not used the WixFirewallExtension to open a port, rather I use it to
register my application with the Windows Firewall, which then allows the
application to receive anonymous input when it is launched. (I understand
this is prefered to opening a port in general.)
lt;Component
I wonder if it is possible to chain from a MSI Package depending of the
user language.
Yes, create a MsiPackage for each locale and use InstallCondition (or
implement code in a custom BA in PlanBegin) which allows the package to be
installed only for that locale. This would involve using a
My BA supports 13 cultures, and I am not seeing any problem when I use the
ARP to launch my bundle. What kind of BA did you create and how does your
BA detect the culture?
--
View this message in context:
By adding a PayloadGroupRef to your BootstrapperApplicationRef.
BootstrapperApplicationRef Id=ManagedBootstrapperApplicationHost
PayloadGroupRef Id='myBA_payloads'/
/BootstrapperApplicationRef
Then when your BA is launched, use ProcessMon to watch what it does. The
files are
Rather than trying to do something that is not supported for security
reasons, take a look at using the support for RelatedBundle and the Addon or
Upgrade Actions, which allow you to ship a bundle and then later create
another 'Addon' bundle (with new packages, or in the case of the Upgrade
Action
I think that there may be different ways to approach RelatedBundle. I can
only share the approach that I have been using. For every bundle I create I
assign a relatedBundleGuid (which is different than the UpgradeCode for
that bundle), along with a BundleTag:
RelatedBundle Action='Detect'
You might consider, for a per-machine setup, installing a 'template' to a
single location under CommonAppDataFolder\somefolder (typically
C:\ProgramData\...).
Design the application so that if it needs to write user specific
information, it should manage reading the default template and writing
I came across a different, but I suspect it might be a related issue,
discussed in this thread
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/RollbackBoundry-Can-t-Upgrade-or-uninstall-bundle-td759.html
. Frankly because of other responsibilities, I set this issue aside and
I use a bundle to drive my msi packages. Generally I use
util:RestartResource but some time ago I used util:CloseApplication. I do
not recall observing the scenario that you described, however I do know that
the underlying API used in either case, util:RestartResource or
util:CloseApplication,
In each msi use the MajorUpgrade element and increment the first three
sections of the MSI version (i.e 1.0.0.0 to 1.0.1.0, and not 1.0.0.1)
When building the second release of the bootstrapper, leave all of the MSIs
in the first release in the chain and only change the MSI B if that is what
is
I have done some experiments with 'bob' (bundle of bundles). I may not have
it all figured out yet, but what I have done is this:
1) Add this to the parent bundle (I do this for every bundle, even when not
planning to do 'bob', so that in the future I can decide to create a related
Addon or
If running DPInstall.exe on the command line fails, then those issues should
be resolved first. Have you enabled verbose driver setupAPI logging?
https://msdn.microsoft.com/en-us/library/windows/hardware/ff550808%28v=vs.85%29.aspx
I think it is recommended that you use the Wix DifxAppExtension
I am in the process of creating a wix mba/bundle/msi for an existing set of
windows services. One of the services is a messaging server which the
others connect too. When all services are installed locally, all is well.
The following ServiceDependency element was used in each ServiceInstall.
Would using a 'well-known' MSBuild Property, found here
https://msdn.microsoft.com/en-us/library/ms164309.aspx , such as
$(MSBuildProjectDirectory)\... help?
I have not used TFS, but I integrated my builds into our build server using
MSBuild targets scripts, so I build both local in VS and
With great respect for Rob, and I agree that bal:Condition does not support a
non-blocking warning today, however by adding a BAFunctions.dll to your
StdWixBa bundle, you can implement c++ code to detect different conditions,
and then use the information to log, display a string on a dialog, or
An example of doing this is in the wix source at:
src\Setup\WixBA\InstallationViewModel.cs
The event is registered in the class constructor (along with some other
event which are helpful):
WixBA.Model.Bootstrapper.Error += this.ExecuteError;
And then the ExecuteError handler has an example
From what I have read, this is related to where RemoveExistingProducts is
scheduled (probably using MajorUpdate/@Schedule).
This link provides details on when the old uninstallation will be
rolledback.
--
View this message in context:
Based on other threads in this forum, (although I don't know that I could
find them now) I have been using Chain/@DisableSystemRestore=yes. If the
issue is related to a particular machine, you might try this and see if you
can avoid the problem.
--
View this message in context:
Use Engine.FormatString on the path (in your mba or BAFunctions.dll when
using WixStdBA, probably in the DetectComplete handler).
In mba something like this:
path =
object.Engine.FormatString(object.Engine.StringVariables[WixBundleOriginalSource])
Then save 'path' to a string variable for use in
ProductSearch element works only with msi package, is true of the
wix:ProductSearch (which can only be used in a msi context). However in
another thread to answer your question John suggested that you look at
util:ProductSearch (which is a Bundle related WixExtension).
I have not needed any of
Does anyone know if MSI (and by extension WiX) supports the use of the
extended-length' prefix (\\?\) on folder paths, such as for a directory
property:
INSTALLATIONFOLDER=\\?\D:\somereally_long_name\or_string_of_long_folder_names_of_32,767
characters\
The MSDN document here
Well one thought is that since there are the following log entries (among
others):
LogonUser = administrator , and
AppDataFolder = C:\Users\Administrator\AppData\Roaming\
imply that the built-in administrator account was used to launch the
setup. the built-in administrator has certain
Similar issue to this issue
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Cant-get-util-RemoveFolderEx-to-work-on-network-drive-td7598399.html#a7598448
.
mapped network shares are defined for a specific user and typically not
accessible to a service, so msiexec probably cannot
For what it is worth, I would look at using the HarvestProjects Target rather
than the Task. I have not harvested projects, but I do harvest directories.
I started using a batch file, then the HeatDirectory Task, and now I use
HarvestDirectory Target, as described here
This forum is for Windows Installer XML (WiX) related questions. I suspect
your intent was to contact the good folks here
https://www.wix.com/support/html5/forum/ .
--
View this message in context:
You can use MsiProperties, but the msi command line is not exposed when using
Burn. You can use MsiLogging (MSI4 or later), however this issue
http://wixtoolset.org/issues/4554/ is open.
--
View this message in context:
wixXX.exe InstallFolder=somepath
I have not actually done this with the wix toolset setup, but this is how I
read the source file.
Look at: wix source\src\Setup\WixBA InstallationViewModel.cs ~line 627
--
View this message in context:
#3 is not possible in the context of using a Burn bundle, as I understand it.
For security reasons Burn will only install packages for which, at 'compile
time', it can create a 'thumbprint' of the package. Whether a package in a
Bundle/@chain has a RemotePayload or a Payload, certain information
With regard to using a Burn bundle in the chain of a Bundle, I did a little
experimenting and I defined the RelatedBundle Action=Detect in the parent
and Action=Addon or Update in the child. I put logging code on the various
RelatedBundle handlers in the mba but I did not need to do any
Other than the versions of .Net supported by NetFxExtension, I do not think
there is any specific support in wix. I prefer fondue.exe in the situations
where it is supported because it does not fail in scenarios where dism.exe
just errors out. However my CA drops back to using dism.exe for other
My comment was based primarily on this thread
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Deploying-multiple-cultures-using-Burn-MSI-s-Wix-3-9-issue-td7596896.html
where I detailed two concerns which I observed after using
embedTransform.exe, in the maner described here
Is it possible .and to check it from my WPF custom bootstrapper
application?
In the ApplyComplete handler (see WixBA InstallationViewModel of wix src) in
code similar to this:
if (this.root.State != this.root.PreApplyState)
{
this.root.State =
Excellent! Thanks for the help Bob!
--
View this message in context:
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Resolve-Burn-standard-path-variables-in-mba-prior-to-Apply-tp7600094p7600097.html
Sent from the wix-users mailing list archive at Nabble.com.
Is there Burn support to resolve an Engine Variable, which includes a Burn
Standard Variable, (which can be called from a C# mba prior to ApplyBegin)?
Example, given an InstallFolder variable set to a string like
[ProgramFiles6432Folder]\somefolder\ is there a way to resolve this so
that the full
Any text or xml editor to edit the file. (Notepad++, etc.)
The Project file allows VS/MSBuild to compile/link the files, but you can
also do that by calling the various wix tools (candle.exe, light.exe, etc)
directly.
--
View this message in context:
You could use a bind path (named or unnamed), which I have seen recommended
over the use of preprocessor variables in this forum.
Unnamed bind path:
file source would be:
File Id=quot;...quot; KeyPath=quot;yesquot; Source=quot;\a\b.txtquot;
and in wixproj or in Properties/Tool
You posted:
lt;Variable Name=MyVariable Value=MyValue /
I set bal:Overridable='yes' on any variable I create in the Bundle and
interact with in the bafunctions.dll or mba.
lt;Variable Name=MyVariable Value=MyValue bal:Overridable='yes'/
And since I also read threads about Burn's functionality to
My comment about using persisted variables is based on this thread
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Burn-Resume-Installation-Plan-td7579146.html#a7579182
, and posibly others that I may have stumbled across.
I transitioned from using a bafunctions.dll (with Wix 3.7
Fiddler http://www.telerik.com/download/fiddler is a helpful tool for
debugging these kinds of issues.
--
View this message in context:
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/MSI-packages-download-and-Firewall-Proxy-settings-tp7599503p7599955.html
Sent from the
Look at the sample, in src\burn\Samples\bafunctions\readme.txt, it even gives
you the following example:
//-
// Example of reading burn variable.
BalGetStringVariable(LWixBundleName,
The chain is installed from top to bottom and uninstalled from bottom to top.
Probably all you need to do is set XxxPackage/@InstallCondiditons so that
both packages are installed or uninstalled as a pair with the ExePackage
before the MsiPackage in the chain.
--
View this message in context:
OnDetectComplete handler is safe.
OnDetectBegin if you know that WixStdBALanguageId has been initialized prior
to OnDetectBegin.
--
View this message in context:
What did you copy and past them into?
A wxl file has an header that specifies the code page. If you also create
string entries for the Codepage, you can then use the wxl string entries to
set the Product/@Language=!(loc.LCID) and the
Package/@SummaryCodepage=!(loc.SummaryCodepage). Something
I have not done this, but I did notice this post
http://stackoverflow.com/questions/3749863/add-multistring-registry-value-using-wix
.
--
View this message in context:
Sorry. Thanks for the correction.
--
View this message in context:
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Predicting-Bootstrapper-Cache-Location-tp7599709p7599736.html
Sent from the wix-users mailing list archive at Nabble.com.
I don't know if changing WixBundleName at run time is a very good idea. I
never tried that. I would use the WixLocalization files to set strings
displayed to a user. See here
I described one approach in this thread
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/WiX-Burn-managing-installed-products-after-initial-install-td7595346.html#a7595368
.
--
View this message in context:
So it looks like the bootstrapper is not passing BUNDLEPROVIDERKEY to the
MSI at all.
You need to define Bundle/@ProviderKey, here
http://wixtoolset.org/documentation/manual/v3/xsd/wix/bundle.html . I
set it to a GUID (and like UpgradeCode I do not change the
Bundle/@ProviderKey between
Error 0x80070005: Failed to run per-user mode.
Seems interesting, I thought that both the VS2013 and the Wix toolset setups
were per-machine, but I could be wrong. IF there are so many different
wix-based setups which do not run, is there a Group policy or Security
policy that is preventing
I do not know the answer to your specific scenario, but when I search the wix
source for SetDownloadSource, I also notice calls to SetLocalSource. It
looks like WixStandardBootstrapperApplication.cpp (around line 827) has an
example of changing the location of the local package. I would add
I have not used DTF, but I noticed this thread
http://stackoverflow.com/questions/16039657/wix-dtf-custom-action-equivalent-of-wcaaddtemprecord
, which may be helpful. This blog post
http://www.joyofsetup.com/2007/07/01/semi-custom-actions/ discusses the
general concept from a C++
I started researching a similar problem related to a java app that required
the setup to modify java.props files, which are similar to ini files without
sections. I tabled that effort for now, as there is a higher level business
discussion about terminating the java app and replacing it with a
I think you are looking for this
http://wixtoolset.org/documentation/manual/v3/xsd/wix/media.html
feature. I experimented with it some time ago, I but don't recall too much.
We decided to host the packages on a web site which makes my bundle
distributable very small. As Sean indicated in
Ara;
Are you looking for -dr (or DirectoryRefId ) which can be any DirectoryRef
(Property) defined in your MSI. (Run heat.exe -? for more details.)
Directory Id=TARGETDIR Name=SourceDir
Directory Id=ProgramFilesFolder
Directory Id=APPLICATIONROOTDIRECTORY Name=My Application
Name/
The bafunctions.dll is ideal for the scenario you described. There is more
info on how to use a bafunctions.dll at here
https://wixextba.codeplex.com/ . Prior to wix 3.8 you needed to use the
download from that site to modify the behavior of wix 3.7. But now you just
need to create a win32
I moved my mba from NetFx40WebClient to NetFx451Web. Previously I did not
run into the errors related to WixMbaPrereqPackageId and
WixMbaPrereqLicenseUrl, as they are defined in NetFx40.wxs. Since they are
not defined in NetFx451.wxs in the WixNetFxExtension, I added them to my
project, but I
I really can't do much to help at this time, but a couple of question might
help clarify the concern
Are you using a Bundle, or just an msi?
If using a Bundle, WixStdBA or managed?
Is the xml file already on the system, or is it installed by your setup?
--
View this message in context:
I think maybe the core issue is described here
http://stackoverflow.com/questions/21663262/xpath-query-filtering-by-date
, with respect to XPath functions. I think the suggestion to use the XML
reader code that works to get the whole string and then process that
property in some way is a good
But I need to localized Progress message which is display on progress bar.
The progress messages which are displayed in Burn are provided by the MSI
package and reflect whether it has been localized. Each msi package needs
to be built for a specific culture. I set the 'culture' property in the
Is the case of NetFx:NativeImage a typo?
Is WixNetFxExtension.dll listed as a Project Reference?
--
View this message in context:
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Namespace-prefix-netfx-is-not-defined-tp7599569p7599570.html
Sent from the wix-users mailing list
1 - 100 of 776 matches
Mail list logo