://support.microsoft.com/kb/2745126
em Note: that you must also set System.AppUserModel.ID first or the property
will not be used. /em
--
/Shortcut
-Original Message-
From: John Hall [mailto:john.h...@cambridgetechgroup.com]
Sent: 16 September 2014 17:40
To: General discussion about the WiX
Hi,
In my installer I have a number of shortcuts installed on the Start Menu that I
don't want to appear on the Windows 8 start screen. I therefore set both the
System.AppUserModel.StartPinOption and
System.AppUserModel.ExcludeFromShowInNewInstall properties for each of these
shortcuts. My
://www.firegiant.com/
-Original Message-
From: John Hall [mailto:john.h...@cambridgetechgroup.com]
Sent: Tuesday, September 16, 2014 3:11 AM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Intermittent errors setting Windows 8 properties on
shortcuts
Hi,
In my installer I have a number
Hi,
My application now has a dependency on mshtml. I therefore need to deploy
Microsoft.mshtml.dll, the PIA assembly. The only redistributable I can find is
vs_piaredist.exe - is this really the only way of redistributing the file? I'd
rather not add another step to my bootstrapper or add a
Rob Mensching wrote:
I'm not sure if the .exe is the only thing available but if
there is no license for you to redist the PIA file with your
application stand-alone then it isn't legal to do so.
The exe is the only thing I can find reference to, and the fact that it is
install in
Andreas Mertens wrote:
I took a look at vs_piaredist.exe, and found you can extract
the .cab or .msi from it (using WinRAR or other such tools).
Perhaps you can just grab one of those and package that up in
your install?
Yes, I've found those. However, Rob is correct, and the license
1. Can the MSI package be marked in some way so that the
complete MSI
file (under 5 MBs in my case) is cached by Windows Installer?
2. Can my setup bootstrapper call some MSI API to make Windows
Installer cache the complete package?
3. Should my setup bootstrapper copy
1. Can the MSI package be marked in some way so that the
complete MSI
file (under 5 MBs in my case) is cached by Windows Installer?
2. Can my setup bootstrapper call some MSI API to make Windows
Installer cache the complete package?
3. Should my setup bootstrapper copy
You are of course correct but I am such a total convert to
SVN that everything in CVS looks so antiquated. I use CVS
tags in another project but have never have the enthusiasm to
understand the command line, in SVN I do everything via the
TortiseSVN interface and I assumed TortiseCVS would be
It sounds like you know a bit about CVS, do you know if it is
possible to view what has change since you last did a
checkout in CVS or TortoiseCVS? I can see how to do it on a
file by file basis but not the whole folder.
Neil,
On the commandline, you can do 'cvs -n update', which shows you
.reg: Don't use the .reg file; instead put the registry
values in the .reg file into a component and install the component.
Thanks a lot for your suggestions.
Could you please let me know how to implement the first one
(.reg files) as you suggested.
You need to create a component and in
not work for me. In my case MyVariable has ; in it:
MyBariable=Name1=Value1%3bName2=value2
-Original Message-
From: John Hall [mailto:[EMAIL PROTECTED]
Sent: Wednesday, October 15, 2008 03:29
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Build
So you are saying it is not possible?
I don't know; I'm no expert. Rather than pass in two variables embedded in
'MyVariable' can you not just pass Name1 and Name2 as variables in their own
right?
CreateProperty Value=Name1=$(Name1);Name2=$(Name2);$(DefineConstants)
Output
ComponentRef Id= component2 /
DirectoryRef Id= APPLICATIONROOTDIRECTORY
ComponentGroupRef Id= Project1Files /
To be explicit, it appears that you are somehow including
your Fragments code twice. Maybe you lit the Fragment.wxs
into a .wixlib then added both the .wixlib and the
I've modified by wixproj file to take parameters from the
commandline and pass them into WiX:
Does it mean there is a bug in WiX MSBuild-related stuff or
it is not implemented?
I don't know. I just assumed that they were different things and that you need
to plumb them together yourself.
Let me rephrase. How do I specify preprocessor variables when
I build from command line with MSBuild?
msbuild myinstall.wixproj /p:???
I've modified by wixproj file to take parameters from the commandline and pass
them into WiX:
You need to add something like this to the BeforeBuild
I have a VS 2008 solution with a DTF project and a WiX
project which uses my DTF custom action DLL. I have manually
set the project dependencies such that the DTF project builds
before the WiX project.
Theoretically, a change in the custom action code in the DTF
project should trigger a
The only way I've got this to work at the moment is by
manually changing the Product Id and checking it in before
doing a publish to avoid the annoying another version of
this product is already installed... message. Otherwise it
forces the user to uninstall the previous version before
If you're looking for a quick non-debugger method, property
changes are still logged. It may be a hack, but calling
MsiSetProperty(hMSI, _T(LOGME), _T(...)) is effective.
Michael,
That's a nice workaround - I like it.
Cheers,
John
Is this code significantly different than what is in heat?
Can we improve heat as well?
I didn't look at heat's sourcecode when I wrote my utility, but it uses the
same registry redirection technique. I've looked at RegistryHarvester.cs and I
can't see where it deals with the Class/TypeLib
Could anyone please describe how digital signing works with WIX?
I've only found the reference of the DigitalSignature-element here:
http://wix.sourceforge.net/manual-wix2/wix_xsd_digitalsignature.htm
In the Windows Installer SDK there isn't much more
information. It seams that I need a 128
Neil wrote:
I have tried a
few times to remove the unrelated code and never successfully
got the component to work or to leave the machine working on
uninstall. Have you ever generated the WiX registry code for
VB6 COM component? Has anyone?
Neil,
I have. I wrote a custom build task that
Yeah, Windows Installer doesn't let it work. Why? Some
message processing issue inside them. I think this is
documented in some small print somewhere.
PS: Please don't shoot the messenger. smile/
Of course not. I had half guessed it was something like this anyway. I guess
it's a matter
Regarding SelfReg, or not I'm not completely sure I drink
the Kool-Aid on this one. So, I understand that SelfRegCost
violates transactability rules (spell checker says
transactability is not a word shrug) due to MSI and how it
handles that... But what then IS the recommended way to deal
In my installer I have some C++ custom actions that log to the main MSI log
file using MsiProcessMessage. I'm now writing a CA that is executed on a button
press in the UI as the user leaves the feature selection dialog. However, none
of my debug output is appearing in the log.
Is there a
I have tried to get simple Shortcut from menus to Folder (no
file). But somehow I always fails. I can get it to file.
Could someone give me little example?
I have tried Target=[DirectoryID], as I think should work,
but no success for me.
I've got something like this:
Component
I just started using WIX build 3.0.2420.0, (I was using
3.0.1502.0). When Light.exe runs it performs the ICE validations.
Some of those, I want to ignore. However, I have not been
able to figure out how to do so.
I tried the following SW command line parms for Light.exe,
but they
John Hall wrote:
I have written a tool that auto-generates .wxs files for some parts
of my project - we ship a lot of example scripts. It only handles
files and generates one component per file. The tool maintains a
database (well, an XML file) that lists all the GUIDs ever
allocated
1. How do you manage updates to the database in source
control? Do people update the file before building or does
the build machine checkout/checkin automatically? If the
latter, what source control systems does it support... (you
can see where I'm going smile/)?
We use cvsnt as our
By extension, we do not need tools like WiX as we don't need
tools like compilers. We can all hack binary codes directly
to the processor and be done with it.
BTW, .msm is like a .o to a .c
I think of them more like a static library, i.e. a .lib file ... :)
john
I think you'd have to write a custom action. As custom
actions go, this would be a very simple one.
I tried putting in a custom action that used the cmd.exe
sleep command to fix a problem with a service that needed to
restart only to discover that not all my deployment targets
had the
Is there a way to do this?
I think you'd have to write a custom action. As custom actions go, this
would be a very simple one.
Just out of interest, why do you want to sleep during installation?
Regards,
John
-
Check out
I'm trying to package a legacy program that registers some third-party
ocx and dlls. I see that the consensus is that I should be handling
this with a registry component. However, this application's
'installer' just copies stuff into a folder off the root of c:\ and
runs a 'register.bat'
Richard,
Just create normal components for the two subdirectories, and a third
component just containing the INF file and the difx attributes, and then
add all three to the same feature. I think that the difx stuff only has
to be attached to the INF file.
Regards,
John
_
Anthony,
As far as I know DIFxApp still only works with WiX 2. My workaround was
to create a merge module using WiX 2 just for the driver installation
and merge that into my WiX 3 installer.
Regards,
John
_
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
I would imagine that whoever is spamming the list is not intentionally
doing it, but just has wix-users@lists.sourceforge.net on a list of
e-mail addresses, so blocking non-subscribers should be effective.
John
_
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
Quinton,
It's unfortunate, but the WiX tools are not designed to be used in an
automated, build-time fashion. I guess the reason is that there are too
many problems around managing component rules, and for many people their
COM interfaces change rarely.
I developed my own custom build
You can change the bitmaps quite easily without having to do any
hacking. In WiX 2, you simply put a file called Bitmaps\BannrBmp.bmp in
the directory in which you're building your MSI (see
http://www.tramontana.co.hu/wix/lesson2.php#2.3 for a list of all the
files you can replace).
In WiX 3, you
Also, aren't there other forum-like venues already out there for WiX?
I know there are a couple of Wiki sites and also sites that aggregate
these emails. What additional value will a forum serve? (I'm not opposed
to it, I'm just asking for more clarification).
What about Nabble:
It looks like the current bootstrapper calls msiexec.exe, rather than
using the APIs. I inherited the code and it looks like it was done
that way to make it convenient to pass command line arguments, among
other things.
If I continue to call the executable, I assume that I'll need to
_
From: Bob Arnson [mailto:[EMAIL PROTECTED]
Sent: 06 December 2007 06:21
To: [EMAIL PROTECTED]
Cc: John Hall; wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] Handling Feature Dependencies
[EMAIL PROTECTED] wrote
Okay. So what if the hidden fC actually contains a merge module
(meaning, a MergeRef / element)? But I still don't want fC displayed
in the interface anywhere. AFAIK, ComponentGroupRefs do not contain
MergeRefs.
FeatureGroupRefs can contain MergeRefs though.
John
:04
To: [EMAIL PROTECTED]; John Hall
Cc: wix-users@lists.sourceforge.net
Subject: RE: [WiX-users] Handling Feature Dependencies
Yes. That is true. But what I used is a FeatureGroup element.
Then, under the FeatureGroup Element, I use a mergeref. So
As I previously said (though in private mail) the solution is rather
simple:
SelfRegCost='1'
Anything else is just a waste of your life by
overcomplicating simple things and reinventing the wheel :D
Except that the MSI documentation strongly suggests that you shouldn't:
Installation
Just as a side note, cygwin and sed (what you seem to be
using) are both licensed under GPL license hence you are
required to provide source code access to all customers using
the software (installer is also software), including any
modifications. Furthermore, the installer would need to
I have been having issues with getting a bootstrapper working
for some time now. i just recently found the program
setupbld, and it looks like it might solve my problems. Here
is what i aim to achieve the user runs setup.exe. it would
detect and prerequisits and install them, then launch
John Hall wrote:
However, this installing per-user on demand could be
quite useful. I would like to install some files per-user as well as the
registry entries. How do I make sure the files that need to be installed
are available?
That requires caching
John Hall wrote:
It's an HKCU registry key that would have been created
for the user who installed the application, but obviously not the user
who is running. Is this the default behaviour for a key in HKCU even if
the feature is not advertised?
Yes
I've got some machines that after a minor upgrade,
unprivileged users unexpectedly get MSI launching a dialog saying that
the feature you are trying to use is on a network resource that is
unavailable. Administrators do not see the message. The installer was
run as Administrator. I
Is it possible to create a shortcut in one component, that will
reference to an executable which is located in another component? We
have an executable used by all our applications, but is running with
different command line arguments for each component. So I want the
executable to be
I've got some machines that after a minor upgrade, unprivileged users
unexpectedly get MSI launching a dialog saying that the feature you are
trying to use is on a network resource that is unavailable.
Administrators do not see the message. The installer was run as
Administrator. I assume it is
Whenever I run a tool in version 3307, 3328 or 3419 builds
obtained from wix.sourceforge.net/releases, I get a
System.IO.FileLoadException
This suggests that the public key token of wix.dll isn't what
candle.exe is asking for. Loading the files into Reflector
I'm wanting to do some automated testing of my installers, testing
upgrades from previous versions, doing some regression testing and doing
a thorough testing of the various combinations of features available.
Has anyone done something similar? How have you gone about it?
I do my testing
I think I have found a bug in WiX2 (2.0.5805.0) (not sure
if it is also in Wix3 - not using it)
Consider this code:
Component Id=Component1 Guid=GUID DiskId=1
File Id=File1 Name=File1.exe Vital=yes KeyPath=yes
Checksum=yes /
File Id=File2 Name=File2.dll Vital=yes Checksum=yes
Robert,
I encountered this same issue when porting our installer from
InstallShield to WiX. InstallShield has the ability to make dependencies
between features - I decompiled the MSI and discovered that it does it
with a custom action and a custom table of dependencies called
ISRequiredFeature.
The latest nightly build, version 3.0.3328.0, seems to be broken -
specifically there seems to be a problem with the strong name signing:
Unhandled Exception: System.IO.FileLoadException: Could not load
file or assembly 'wix, Version=3.0.3328.0, Culture=neutral,
Presumably though, one can have an x64 and an x86 MSI, and a
boot-strapper that detects architecture and runs the correct MSI?
Yes, definitely.
John
-
This SF.net email is sponsored by: Microsoft
Defy all challenges.
I am supposed to create a MSI package using WiX that can
detect whether the computer it's on has 32-bit or 64-bit
architecture, and install different files for each. I have
browsed Nabble and found replies that say making a single
installer that does this is impossible, such as these:
I've been reading more about heat, vb6 and vista. I'm now
starting to get worried that there's a potential difference
between running Heat on Vista versus XP. And yes, you do
need to run as Admin, and elevated for Heat to actually
extract anything. Also, Should I be deleting all the
Our software package needs to register an Active X Control.
Currently I do it with the following:
---
Property Id='REGSVR'regsvr32.exe/Property
CustomAction Id=RegisterOCX Return=asyncNoWait
Property=REGSVR ExeCommand='/s [INSTALLDIR]MyControl.ocx' /
Should I be following
Hi,
For the new version of our product I am using WiX to replace the
previous installer. The new version is installable alongside the old
one. The product includes a driver that with WiX I am installing with
DIFx.
I have found if I install the new version of the software and then
uninstall it,
Can anybody point me to instructions for:
(1) Associating an icon to a particular file type
(2)Launching the application to which that file type is
associated when the icon is double-clicked
Dan,
Here is some example XML taken from one of my
Dan,
This is not quite answering your question, but I'm using WiX 3 on a
product that is shipping later this year. I've found a couple of bugs,
but nothing I haven't been able to work around.
Cheers,
John
_
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Dan
Ben Greenberg wrote:
I recall there being a bug in WiX 3.0 regarding this
extension. Am I doing something wrong, is there a work
around, or do the latest nightlies fix this?
There's no workaround at present. The DiFX library ships as a
.wixlib for WiX v2. WiX v3 can't read them.
Alexei wrote:
Have a look
http://msdn2.microsoft.com/en-us/library/ms681383.aspx here
- its the first one on the list. Course that's if it was an
error from Windows Installer. If it was from your DLL then I
got nothin'.
However I believe the conventional wisdom is not to use
managed
You're doing it too late indeed. During msbuild
(BeforeCompile?) grasp the build version and write it to a
(new?) wxs file. Then add that wxs file to your Compile
itemgroup to get it compiled (and linked) to an msi.
An easier way is to create a custom MSBuild task to get the version
I am using Votive in Visual Studio 2005.
Can anyone tell me how I can configure my WXS file to pick up
DLLS to be deployed (with the File tag) from bin\Debug if the build
configuration is set to Debug, and bin\Release if its Release?
Adam,
Light uses the -b
Error 1723. There is a problem with this Windows Installer
package. A DLL required for this install to complete could not be run.
Contact your support personnel or package vendor. Action
editOmniCfgFile, entry: UpdateCfg, library:
C:\WINDOWS\Installer\MSI9F6.tmp
MSI (s)
From reading blogs on the web, the way to add the merge modules for
the VC8 CRT libraries is shown in the WXS code below. But I get a lot
of warnings in the process.
We are using Visual Studio 2005 SP1 and Wix v3.0.2925
What is the reason for all the warnings?
What can be done to fix
Yeah, I agree that heat will produce a lot of RegistryValue
elements that are not related to the DLL being looked at (like you said,
usually VB Runtime related). Which is fine since heat shouldn't be used
for automated builds etc, and the output should be hand-tooled/cleaned
up. But I
Where can I find the current list of preprocessor directives?
I'm using the list from this article,
http://msdn2.microsoft.com/en-us/library/aa302186.aspx#wixsetup_topic6
But I'm getting compilation errors in VS when using the
ProjectAggregator2-3.0.2925.0.msi. Thanks
John Hall wrote:
I wanted to add a checkbox at the end of my installer
and found the WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT property. However,
when the checkbox is displayed it is drawn with the wrong background
colour - see the attached screenshot. This is with Wix
John Hall wrote:
I'm in the process of migrating my installer from
InstallShield to WiX 3. As part of this I have reorganised and
rationalised the features in the product.
When I come to do a major upgrade from the old
installation
I wanted to know whether it was possible to change the icon
of the MSI file generated by WiX to something else?
Hasan,
Do you mean the icon that explorer displays for the .msi file or the
icon that you see in the add/remove programs dialog once it is
installed?
If you mean the icon as viewed
I am trying to use wix for installation of my product .When
i try to use the UI wizard in my wxs file by using the
following lines:
UIRef Id=WixUI_Mondo /
UIRef Id=WixUI_ErrorProgressText /
I get the fillowing error while linking :
unresolved reference to the symbol 'WixUI:
It seems that MSI cannot write REG_DWORD type values to
registry..Wht is the workaround for this?
Anidil,
The documentation for the registry table in MSI says:
This column is the localizable registry value. The field is Formatted.
If the value is attached to one of the following prefixes
I have tried prefexing # for all the DWORD types but after
running the MSI i see that the registry is getting updated as
type REG_SZ
Looks like I misled you - the RegistryValue element has a 'Type'
attribute, which you can set to 'integer':
RegistryValue Id=Registry1 Name=IntValue
Oki..The ReistryKey and RegistryValue tags are used only with
WiX 3.0 right?
Yes. Under WiX 2.0, you seem to just use the Registry element, which
also has a Type attribute:
Registry Id=Registry1 Root=HKLM Key=Software\Product Value=42
Type=integer /
Cheers,
John
I'm in the process of migrating my installer from InstallShield to WiX
3. As part of this I have reorganised and rationalised the features in
the product.
When I come to do a major upgrade from the old installation to my new
one, all of the features in my product in the customize dialog are
I created a Windows Installer DLL using Visual Studio C++.
The installer is working fine in windows xp and vista. But
when I run the installer which has custom action dll in
windows 2003, it is not installing in windows server 2003. Is
it known issue or does any body have idea this issue?
Should the WiX preprocessor give an error if there is a statement that
it does not recognise?
I just spent some time tracking down a problem, which eventually came
down to me using ?elsif ? rather than ?elseif ?. An error message
saying ?elsif was not recognised would have been useful.
My understanding is that the order that shortcuts appear is
usually alphabetical. But ultimately it is a user-setting. Schortcut
groups are just folders and I believe that the arrange by setting
applies.
Windows does store some special metadata about ordering though, since
you can
TaskParameter=OutputFileName ItemName=Compile /
/PackageTree
Cheers,
John
_
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]
Sent: 20 July 2007 13:55
To: John Hall
Subject: RE: [WiX-users] How to deploy all the files inside the
folder rather than
Is this possible? Ie. is there a way to reduce the number of
components I must have? Or is the way I'm currently doing it
the most efficient way to do multiple directories?
Sadly a component can only contain files in one directory.
You could use heat to automate the gathering of the files
Hi,
I'm trying to set the CompanionFile attribute of a file, something like
this:
Component
File Id=parent ... KeyPath=yes /
File Id=companion Companion=parent /
/Component
This doesn't seem to work. If I look at the generated File table, the
companion file contains its
Microsoft certainly doesn't like to make things easy do they?
I assume though that if someone in the WMF group clued in to using MSI
that they might also have the foresight to provide a merge module for
the redistributables. Kind of like they should have years ago.
Weekly releases of WiX are available at
http://wix.sourceforge.net/releases/.
Is there an easy way to find out what is changed from release to
release? The history.txt file looked promising, but it is not always
updated from release to release, and is just a list of changes
I'm starting to build an installer for an application that includes a
number of VB6 authored OCX controls. It seems that the correct way to
capture COM registration data for these OCXs is to use 'heat file ...',
which seems to generate nice Wix fragments.
I want to call heat as part of the build
I've been looking at bootstrappers recently, and I settled on
dotNetInstaller, an open source program at
http://www.devage.com/Wiki/ViewArticle.aspx?name=dotnetinstaller.
It will install as many prerequisites as you need. It is well written
and easy to modify (despite most of the comments being
We just install the redistributables alongside our main exes.
Not sure you're allowed to do that for the debug versions, though.
The EULA prohibits redistributing the debug versions according to this:
http://blogs.msdn.com/nikolad/archive/2005/09/02/running-c-application-b
Steve,
What's the best way to include the Microsoft Visual Studio 2005
CRT dependencies? I want to include the debug versions for my debug
build. I've tried using the standard MSM files but I get a bunch of
warnings. I have the following WXS code:
This blog entry:
Is there a way of specifying the -b switch when building from Visual
Studio?
Assuming you mean using Votive, it doesn't appear to be
exposed through the project property pages. But you can edit
the .wixproj file outside VS and add a LinkerBaseInputPaths
property to be a
I am trying to use Votive and Visual Studio to build my WiX
Steup project, but to be able to add User Interface, I need to add
parameters to light. For example:
light.exe -out SampleWixUI.msi SampleWixUI.wixobj
path\wixui.wixlib -loc path\WixUI_en-us.wxl
Bob Arnson wrote
I don't think there's a switch in there currently to do relative
paths. Typically that's when I switch to search replace.
You can also omit the Source attribute entirely, if the file
is in the directory indicated by the Directory element
hierarchy and has the same
94 matches
Mail list logo