,I think the better way is try to use FindWindow, since we always knowthe name of the MSI dialogs we use and all MSI dialogs have same classname - MsiDialogCloseClass. But I have no chance to try this way yet.
Best regards,Peter G. SakhnoC-MAP RUSSIA Ltdhttp://www.c-map.ru/Dana Gutride wrote: Peter
Kalappa:According to the MSDN MSI help: A rollback custom action must always precede the deferred custom action it rolls back in the action sequence. A rollback custom action should also handle the case where the deferred custom action is interrupted in the middle of execution.
You can do this in
WiX has built-in functionality to handle this. You might want to look at the link below to see how to do this without calling an external executable. The RootVer registry key is invaluable for determining if
ASP.NET has been correctly registered with IIS. For instance, if the user installs .NET
Daniel:Check out the link below on msdn about syntax for conditional statements. For a quick example, the following is telling you that the WebFeature is being installed. The idea is you look at the current state of the feature and the action requested. The example below shows the state currently
If your app wasn't installed by an MSI before hand, you'll need a custom action to handle this for you. You will also need a way of conditioning the custom action to run only when your app is found. Searching for a registry key might be something to look into. If you had previously installed with
What does the msi log say is happening when you try to uninstall? Also, what happens if you use add/remove programs to remove your program?DanaOn 8/14/06,
Magus [EMAIL PROTECTED] wrote:
My app was installed by the MSI.I am not using the WixUI_xxx or any ofthose standard UI's I created my own.I
' go away after trying to make it disappear
Dana Gutride wrote: If your app wasn't installed by an MSI before hand, you'll need a custom action to handle this for you.You will also need a way of
conditioning the custom action to run only when your app is found.Searching for a registry key
= Remove Value = All1/Publish Publish Event = EndDialog Value = Return/
/Control It doesn't fail when I do this, it for some reason still thinks it should be installing. It failed after I checked the log and thought I should change the ACTION
Property to UNINSTALL or REMOVE. Dana Gutride wrote
Don:Is your custom action sequenced between both the InstallExecuteSequence and the InstallUISequence tags? If it's not in the InstallExecuteSequence table, it will not run on a silent install.
DanaOn 8/15/06, Don Tasanasanta [EMAIL PROTECTED] wrote:
I have a custom action that
I've been eagerly watching the developments on WiX 3.0 and noticed recently that the emphasis in some of the posts has been on preparing to make this a stable release. Our next product release is slated for early 2007 and I would like to transition to WiX
3.0. Is it too soon to begin the
I want to set the ACL on a directory based on whether IIS is installed (IISVERSION is the result of a registry search). The code below works fine if I eliminate the first component (DataCompIIS5). As soon as both components are there, the folder is created correctly, but the user is not added. The
Try setting the property of the control is set to the value that you
want to appear in the control (Property Id=yyy
Value=whatever/). For the checkbox, set the value of the
property Accept to 1.
DanaOn 9/2/06, Petrut Andrei [EMAIL PROTECTED] wrote:
Hi. Tell me please what can I do to set one of
Petrut:You should probably put the three sql scripts in three different components and then add a condition to each component based on the property set by the combobox.Dana
On 9/3/06, Petrut Andrei [EMAIL PROTECTED] wrote:
Hi. I have a combobox where the user has to choose alanguage. After he
Is it possible to elevate a custom action that is called during the UI sequence in Vista? During my install, I'm doing prerequisite checks during the UI sequence, a couple of them require administrative privileges to complete. I'm seeing some mixed information online about this. This link (
I'm using a custom action to detect the presence of an installed SSL Cert in IIS and also to retrieve the port number of the default web site.DanaOn 9/6/06,
Bob Arnson [EMAIL PROTECTED] wrote:Dana Gutride wrote:
Is it possible to elevate a custom action that is called during the UI sequence in
.
DanaOn 9/6/06, Bob Arnson [EMAIL PROTECTED] wrote:
Dana Gutride wrote: I'm using a custom action to detect the presence of an installed SSL Cert in IIS andalso to retrieve the port number of the default web site.How? Don't you have read-only access to the registry, for example, as an
unelevated
Anton:Instead of using StartServer = 0 try NOT StartServer for the condition that disables the second checkbox. It is a little counterintuitive, but if you take a look at the MSI log, you should see that unchecking a checkbox doesn't set the value of the property to 0, it deletes it altogether.
as well as for user accounts that are created as part of
the install. Is the user you need to give access to created during your install or does it have a well known sid so you can use the lock permissions table in the MSI?Dana
On 9/8/06, roxana [EMAIL PROTECTED] wrote:
Dana Gutride a écrit : Roxana
PROTECTED] wrote: Dana Gutride a écrit :
Roxana:
The following works for me.You might want to try some variation of these in your install. Permission User='Everyone' GenericAll='yes' / (this uses the
lockpermissions table) Permission User=ASPNET Domain=[ComputerName] GenericAll=yes
Looking at your source below, what is the point of putting down a pdf if you are just going to delete it immediately? Do you want the user to view it and then have it deleted?Dana
On 9/12/06, Petrut Andrei [EMAIL PROTECTED] wrote:
I have this code from below: Directory Id=DIRECT
Well that's a different question altogether. The following will create an empty directory. Directory Id=tempdir Name=Temp Component Id=tempcomp Guid=your_guid DiskId=1
CreateFolder Directory=tempdir / /Component /DirectoryDanaOn 9/12/06, Petrut Andrei
[EMAIL PROTECTED] wrote:
Hi, Dana. The
Darren:There is an UpdateIfExists element under User that is supposed to update user account properties if the user already exists. I'd try putting the user/groupref inside a component, keeping the group outside of the components/directory structure and see if that takes care of it.
DanaOn
Simon:Try something like this:Custom Action="" After=RemoveFiles![CDATA[REMOVE=ALL AND NOT UPGRADINGPRODUCTCODE]]/CustomThe UPGRADINGPRODUCTCODE property is set during the upgrade and available during the previous product removal.
DanaOn 9/13/06, Simon Burgess [EMAIL PROTECTED] wrote:
PROTECTED]
[mailto:[EMAIL PROTECTED]] On Behalf Of
Dana Gutride
Sent: 13 September 2006 21:48
To:
wix-users@lists.sourceforge.net
Subject: Re: [WiX-users]
Sequencing issue with a major upgrade
Simon:
Try something like this:
Custom Action=""
After=RemoveFiles![CDATA[
Jose:The revered tutorial here: http://www.tramontana.co.hu/wix/lesson6.php#6.3 explains that if you want to install to an existing website, that website information should reside out of the component tag. Otherwise, the MSI thinks that it created the website and upon uninstall it will drop it.
]] On Behalf Of
Dana Gutride
Sent: 14 September 2006 15:52
To: wix-users@lists.sourceforge.net
Subject: Re: [WiX-users]
Sequencing issue with a major upgrade
Simon:
It seems that you may have put the condition inside of the wrong element.
That condition should go in the Custom Action / elements
Doug:In the following control, all you need to do is set an initial value for USERNAME ( Property Id=USERNAMEWhatever/Property ) and it will show in the dialog when the dialog is first displayed. When the user types something different, after they click next or back on the dialog, the new property
I think we might be interested in seeing some functionality like that as well.DanaOn 9/22/06, Ryan O'Neill
[EMAIL PROTECTED] wrote:Definitely! Make my life a LOT easier.
Cullen Waters wrote: Is there any demand for a built-in Wix custom action to install/upgrade/repair /remove Sql Reporting
Doug:If you are sequencing based on a feature, your example is nearly correct. You can also do this based on a specific component, but the syntax is slightly different. The ampersand is for feature actions, dollar sign is for conditioning based on component actions.
I've encountered a similar problem, it seems the permission element doesn't take into account the condition of the component it's within. This also seems to occur both with the generic MSI way of doing this and the extended WiX secureobj custom actions.
DanaOn 9/26/06, gcoates
[EMAIL PROTECTED]
permission elements, the permissions specified are not set at all.
Thanks,DanaOn 9/26/06, Bob Arnson [EMAIL PROTECTED] wrote:
Dana Gutride wrote: I've encountered a similar problem, it seems the permission element doesn't take into account the condition of the component it's within. This also seems
Ok, I'll take a stab. I don't know what the best practice is, but I can tell you what we are doing. We have a large database with many, many tables and even more stored procedures. We use one sql file to create the tables (that file is under 100K) and break the stored procedures up into multiple
You can write a custom action that checks the metabase for that. I'll attach a snippet of vbs that you convert to c++ if you'd like. One thing to keep in mind, I'm pretty sure this property doesn't exist on Windows 2000 or XP (IIS 6 only), so I'd be careful in scheduling the custom action.
DanaSet
Tina:Take a look at the IgnoreModularization tag. You define it in the merge module wxs file.(IgnoreModularization Name=PATCHFOUND Type=Property /)Dana
On 11/7/06, Tina Basinger [EMAIL PROTECTED] wrote:
I have a case where my merge modules need to tell if they are running in an upgrade, or a fresh
that either. Most examples just execute binary files. Any more ideas?
Dana Gutride wrote: Two possible ideas come to mind.1) Is your custom action scheduled to run as a deferred custom action? 2) Depending on when you are attempting
to execute this custom action, you might be having some difficulty
This is happening because you do not have the correct text in your error
table. I realize it's counterintuitive, but you need to copy in the error
text tags from the wix dialogs and you'll notice the uninstall text showing
up.
Dana
On 11/16/06, Qu, Li [EMAIL PROTECTED] wrote:
Hi,
I
Jeff:
If it's in the following list, you can use it relatively easily.
http://msdn2.microsoft.com/en-gb/library/aa372057.aspx
The directory structure would look something like what is below (just the
beginning, you should be able to fill in the rest.
Directory Id='TARGETDIR' Name='SourceDir'
Take a look at this link too:
http://msdn2.microsoft.com/en-us/library/aa370810.aspx
On 11/27/06, Dana Gutride [EMAIL PROTECTED] wrote:
My other idea: try a verbose install on vista (my vista vm isn't running
right now, or I'd try it for you). Take a look at the properties at the end
listed at all.
*From:* [EMAIL PROTECTED] [mailto:
[EMAIL PROTECTED] *On Behalf Of *Dana Gutride
*Sent:* Monday, November 27, 2006 1:16 PM
*To:* wix-users@lists.sourceforge.net
*Subject:* Re: [WiX-users] How to specify a envirorment variable dir
My other idea: try a verbose install on vista
We recently encountered this problem as well. There is an old message
(here:
http://www.nabble.com/WebDir-element---no-longer-can-contain-webapplication-tf851560.html#a2280481)
about it. From the IIS MMC, you can make any directory a web application.
In the metabsae, it creates any
.
*From:* [EMAIL PROTECTED] [mailto:
[EMAIL PROTECTED] *On Behalf Of *Dana Gutride
*Sent:* Tuesday, November 28, 2006 07:29
*To:* wix-users@lists.sourceforge.net
*Subject:* [WiX-users] WebDir element - no longer can contain
webapplication?
We recently encountered this problem as well. There is an old
I have also noticed this bug. Oddly enough it is happening during an
upgrade only. During our initial install when we create the database, this
doesn't happen. During the upgrade, the user can select the database to
upgrade, 10-15 SqlScripts are all run against it and I see the same error.
It
Of *Dana Gutride
*Sent:* Wednesday, November 29, 2006 05:40
*To:* wix-users@lists.sourceforge.net
*Subject:* Re: [WiX-users] ConfigureSQL Bug
I have also noticed this bug. Oddly enough it is happening during an
upgrade only. During our initial install when we create the database, this
doesn't
If I'm understanding your question correctly, you can put one virtual
directory inside of another. The WiX documentation states that a valid
child for a webvirtualdir is another webvirtualdir. You might want to try
nesting the second one inside of the first and removing the inner virtual
At that point during the install, any file searches have already completed.
You'd have to write a second custom action to search for the file, schedule
it to run after the first one and then return an error triggering rollback
if it finds it.
Wouldn't it be easier to just have the first custom
If it's a c++ custom action, return ERROR_INSTALL_FAILURE instead of
ERROR_SUCCESS. If it's a script-based action, returning 3 instead of 0 will
have the same result. In your WiX files, make sure you have set the custom
action to check it's return code instead of ignoring it. Take a look at
Is it an executable or did you manage to successfully call into a C# dll
from the msi?
Dana
On 2/5/07, Ian Couper [EMAIL PROTECTED] wrote:
The custom action is actually running a custom build C# application…
--
*From:* Dana Gutride [mailto:[EMAIL PROTECTED
++ and VB scripts but they won't work
properly for what I need.
--
*From:* Dana Gutride [mailto:[EMAIL PROTECTED]
*Sent:* Monday, February 05, 2007 3:43 PM
*To:* Ian Couper; wix-users@lists.sourceforge.net
*Subject:* Re: [WiX-users] Install Sequence
Is it an executable
Are you installing only 32-bit dll's? Do you have any problems with file
and registry redirection to the 32-bit locations on a 64-bit os? If your
program isn't affected by that, than you can use one package for both. I
just wanted to mention that because just conditioning the components isn't
for 32bit?
Would that solve the problem without having to use conditions in
components?
It feels like most folks are ignoring Itanium ;-)
*From:* Bob Arnson [mailto:[EMAIL PROTECTED]
*Sent:* Tuesday, February 06, 2007 10:57 PM
*To:* Robert Randall
*Cc:* 'Dana Gutride'; wix-users
Hi all:
I recently opened a support incident with Microsoft regarding major upgrades
of packages containing the vc90 runtime merge modules. Links here:
http://support.microsoft.com/?kbid=905238 and here:
http://blog.deploymentengineering.com/2008/05/more-problems-with-ms-vc-8-sp1-merge.htmland
The first thing you might want to check is it linked statically or
dynamically to the VC80 runtime libraries. Changing to Visual Studio 2005
most likely introduced a dependency for you because of the C runtime
changes. If you don't want to link statically to the CRT, you could also
use a
Hi all:
We've encountered a problem where ConfigureUsers causes an uninstall to fail
if a domain user is used on install and they are not logged in to the domain
on uninstall. I found this bug on the issue already:
What is the command line you are building with? Sounds like you need
sca.wixlib passed as an arg to light.exe (or maybe it's wixca.wixlib).
Dana
On Mon, Jul 28, 2008 at 2:28 PM, Gregory Swanson [EMAIL PROTECTED]wrote:
Our upgrade test for WIX version 2.0.5805.0 failed with a missing
Can you search all of your wxs files for configuresql and see if you are
referencing it somewhere? Maybe in a before or after tag? Also, have you
replaced the wixlibs with the new ones from the latest WiX 2.0 build?
Dana
On Tue, Jul 29, 2008 at 1:08 PM, Gregory Swanson [EMAIL PROTECTED]wrote:
Looks like retrieving a reg_multi_sz using the RegLocator table during
AppSearch is not a great way of doing this. Plenty of places on the web
document this oddity. I think you might just want to use a custom action
instead of a registry search to retrieve this value and write it to a
property.
or is there some other sort of
CA that I can use?
Thank you for responding
-Original Message-
From: [EMAIL PROTECTED] [mailto:
[EMAIL PROTECTED] On Behalf Of Dana Gutride
Sent: Thursday, July 31, 2008 11:52 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users
Quick question regarding the way the WiX sql custom actions. When you
specify multiple sql scripts or strings with their associated sequences,
does the custom action open a new connection for each string/script executed
or does it reuse the connection until it has looped through all of the
:
[EMAIL PROTECTED] On Behalf Of Dana Gutride
Sent: Friday, August 15, 2008 06:58
To: Windows Installer XML toolset developer mailing list; General
discussion for Windows Installer XML toolset.
Subject: [WiX-users] SqlScript Connection Question
Quick question regarding the way the WiX sql
How many parameters are you talking about? If it's just a few, why don't
you use a sqlstring action to put them in some temporary table in your db,
read them out with your scripts and get them that way. SqlScripts are not
designed for passing in parameters and they most likely don't have access
It's pretty easy to do in WiX though. You just have to write a sqlstring
element that creates the filegroups for you. Use WiX to create your
database, then add the following to a SqlString element. One thing to note
is you do need a fully qualified filename so you'll need to make sure you
We just use a simple version number stored in a table in the db. We read it
on upgrade using a custom action scheduled before CostInitialize and then
only components which are greater than that version number are installed
based on a component condition like what's below.
?
Michael
From: Dana Gutride [mailto:[EMAIL PROTECTED]
Sent: Fri 26/09/2008 12:12 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] SQL scripts and Upgrades
We just use a simple version number stored in a table in the db. We
For integrated auth, use a sqlstring element containing the following where
USERNAME is the domain\username: exec sp_addrolemember N'db_owner',
N'[USERNAME]'
Dana
On Tue, Oct 7, 2008 at 6:34 AM, Eitan Behar [EMAIL PROTECTED] wrote:
Short question, and waiting for (hopefully) a short answer:
Msi logging can also be enabled via the registry. The log will be created
in your %temp% folder (just type that in your windows explorer address bar
and you'll be taken to the correct location). In order to enable logging,
copy the following into a file with a .reg extension and then double
I believe there is a Hidden attribute that you can add to the property tag
which will prevent it from being logged during install.
Dana
On 2/28/07, Abhishek Agarwal (RFID) [EMAIL PROTECTED] wrote:
Hi,
I am using the SqlDatabase in-built Wix custom action to create our
configuration
This is not possible within the sql database tag right now. There is a
bug/feature request in for this exact functionality, but as far as I can
tell, it hasn't been added yet. The only way to do this is to have two
sqldatabase tags in separate components and then add conditions for the
It might be a good idea to schedule this based on the state of the component
or feature. That way you can tie the custom action's execution to whether
or not the specific component is being installed/uninstalled based on that
state.
$TheComponent=2 (component is being uninstalled)
Are you getting an error? Also, what does the msi log report about the
database creation? You might want to set ContinueOnError to no and then see
what happens.
Dana
On 4/11/07, Moni Chow [EMAIL PROTECTED] wrote:
Can anybody figure out why database is not created using the codes below
You can set this in WiX by setting Hidden=yes in the Property Element.
Dana
On 6/6/07, Aaron Shurts [EMAIL PROTECTED] wrote:
Add the property name to MsiHiddenProperties property. This is a
semi-colon delimited list of properties whose values you do not want written
to the log.
We do this using public properties and the SqlString element instead. You
end up embedding the actual sql directly in the MSI, but you can reference
the properties directly. An example follows:
SqlString Sequence=3 Id=AddRoles SQL=Use [DBNAME]
exec sp_addrolemember N'db_owner',
Hi all:
We are using the latest 2.0 build of wix and are now seeing this bug 80-90%
of the time during installs. Has anybody made any progress in nailing down
these leaked MSI Handles in the sql custom actions?
Thanks,
Dana
a
null terminator, don't count that in the character count because we track it
below
After:
else if (L'\0' == szSource[cchSource-1]) // if the source already had a
null terminator, don't count that in the character count because we track it
below
Dana
On 8/22/07, Dana Gutride [EMAIL
--
*From:* Dana Gutride [mailto:[EMAIL PROTECTED]
*Sent:* Wed 8/22/2007 19:33
*To:* Schrieken, Rene
*Subject:* Re: [WiX-users] ConfigureSQL Leaked MSIHANDLE
We are using both sqlfilespec and logfilespec.
Dana
On 8/22/07, Schrieken, Rene [EMAIL PROTECTED] wrote:
Hi Dana
The MSDN Windows Installer documentation should be sufficient to explain
this limitation. I'd start here:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/windows_installer_on_64_bit_operating_systems.asp
When I install on Longhorn, I receive an error message (Failed to read
IIsWebs table (-2147024891 ) and the install stops. I've run this same
MSI on Vista with no problems. Has anybody had any success using the IIS
custom actions within WiX 2.0 on Longhorn? I do realize Windows Server
2008
What does the msi log say is happening here? That is usually the best way
to troubleshoot custom action errors. The other trick I'll use is pop up a
message box from my custom action code and then attach to it with the
debugger. As a rule, any custom actions that modify the target system
should
The recommended way to do this is to create language transforms and then
call the msi from a setup.exe bootstrapper which will pass the correct
transform name along as a command line parameter. You'd have to add a
dialog in the bootstrapper to choose the language or include the logic to
determine
You can embed the sql right in your wxs file using sqlstring instead of
sqlscript. That will allow you to include properties in the sql statements.
Dana
On Dec 7, 2007 10:52 AM, Kevin Idzi [EMAIL PROTECTED] wrote:
Hello, I have a WiX Question. I've started using it for all of my
installs
Has anybody attempted any custom actions or have any info for installing a
site on IIS 7.0 w/out legacy support? I realize that WiX doesn't natively
support it yet, but it's very hard finding anything beyond the api
documentation on the web for info on how to do this within an MSI.
Thanks,
Dana
I already submitted all of the code to fix this bug months ago on this
e-mail list and in the comments of this bug. I haven't heard anything back
(the bug is still open), so I don't know if they incorporated it or not.
Because the change wasn't incorporated in WiX 2.0, I'm forced to use a
custom
is failing while
installation.
With custom action type Commit, installation is sucsseful, but service
is not started.
SOme times when I try manually, it is starting, some times not.
The above code is working fine in XP, but failing in Vista
Any Ideas???
Dana Gutride wrote
The best practice is not to use C# managed custom actions at all. If you
search an archive of this list here:
http://www.nabble.com/wix-users-f4470.html, you'll see plenty of reasons why
this is stated.
This is not a limitation of WiX, but rather a requirement imposed upon all
of us by using
Do you want this to work on Windows 2008 as well? If so, you are going to
have trouble connecting to IIS for the site list in the UI sequence of your
msi and the direction you are attempting to go in right now will probably
not work.
Dana
On Wed, Mar 12, 2008 at 8:26 AM, Sneha Gharpure
[EMAIL
I vote to lock non-members out. I would have normally replied to
[EMAIL PROTECTED] of the specific individual anyhow because of many,
many reminders
not to respond to individual people so that we can all benefit from the
conversation.
I stopped reading and responding to e-mails on this thread
85 matches
Mail list logo