With someone's help, I figured out the approach.
After CostFinalize action, before InstallValidate action, add a customer
action, say UpdateFeatureChange, which changes the feature's reqire state
accordingly.
In DTF, it is as simple as
FeatureInfo featureA2= this.Session.Features[FeatureA2];
Echo on the question.
I have exactly the same problem:
In my product V1.0, I have
FeatureCommon (always be installed)
Common.dll
FeatureA (optional)
A1.dll
FeatureB (optional)
B1.dll
In my product V1.1 I added A2.dll to feature A
Hi all,
I have V1.0, V1.1 and V1.2 MSIs.
My requirements are:
1) patch1.msp, that can upgrade from V1.0 to V1.1
2) patch2.msp, that can
2.1 upgrade from V1.0 to V1.2,
2.2 from V1.1 to V1.2,
2.3 from (V1.0+patch1) to V1.2
3) It is blocked to install patch1.msp, V1.2 is
Hi all,
I'm following the example
http://wix.sourceforge.net/manual-wix3/wix_patching.htm to create a patch.
Everything works fine on test binaries built on my local computer.
However, I got error PYRO0001: Could not find file when I changed to use
released msi file built by team's build
Hi,
I'm following the tutorial
http://wix.sourceforge.net/manual-wix3/wix_patching.htm to create patches by
WiX.
I have an old MSI with version 0.1.1463.0, and a new MSI with version
0.2.1468.0, and then using the same approach as the tutorial to create a
Patch.msp.
I installed old MIS, then
Thanks for the reply.
What I want to do, is not updates/upgrades. It’s just change the
installation:
I have FeatureA and FeatureB, previously I’ve installed FeatureA, and now I
want to add FeatureB.
I notice one thing strange: when I try to uninstall my foo application, by
click the Uninstall
Hi all,
I have a foo.msi in my temp folder when I install my foo application, with
feature A.
Then I go to the Add-Remove Program control panel, click Change, and want to
install a new feature B of foo application.
I got two problems then:
1, the UAC does not popup, when I click Change button
Hi all,
I want to use custom action (written in C# by DTF) to query and update some
record in the control table.
Here is the code:
string query = SELECT 'Control' , `Text` , `Property` FROM
`Control`;
View view = session.Database.OpenView(query);
Oh yes, you are correct. Now I can get the values.
A new problem: seems the control table cannot been updated?
In the code, I have
r.SetString(10, newText);
view.Update(r);
and I got InstallerException
{Function failed during execution. Database: Table(s) Update failed.}
with error code 1627
Yes! After I set ALLUSERS=1, it runs as local system and delete the remote
folder.
When the system account go through network, it is using the computer account
(MachineName$). And my folder is granting permission to MachineName$.
Thanks,
-Elfe
--
View this message in context:
Anyone could help with this question?
Shouldn't the uninstaller only remove the registry key created by itself,
but not the parent key, even the parent key is empty after we remove our
sub-key?
Thanks,
-Elfe
--
View this message in context:
From this post
http://social.msdn.microsoft.com/forums/en-us/winformssetup/thread/2E1FF88B-1955-4AD0-98A2-E306EACFBA5C
http://social.msdn.microsoft.com/forums/en-us/winformssetup/thread/2E1FF88B-1955-4AD0-98A2-E306EACFBA5C
I saw:
you need to describe the path to your new registry item
And in this post
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Website-gets-deleted-when-uninstalling-Web-App-td5436443.html
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Website-gets-deleted-when-uninstalling-Web-App-td5436443.html
Seems it's the same problem:
The KB says
If it is necessary to run your custom action when using the local system
security context, set the attributes of the custom action in the
CustomAction table to either 3072 (msidbCustomAction TypeInScript +
msidbCustomAction TypeNoImpersonate)
I've already done this, but seems it's
Hi,
I have a custom action that need to delete a remote sub-folder
\\servermachine\sharedfolder$\clientIDfile:///\\servermachine\sharedfolder$\clientID
, the sub-folder's CREATOR OWNER is clientMachine$, it's created by a service
running on client machine with LocalSystem account, and only the
Hi all,
When uninstall a product, during InstallValidation, MSI will check if need to
close any dependent applications. If yes, will show a message box:
The following applications should be lcosed before continuing the install:
...
And let user choose
(1)Automatically close applications and
Thanks Phil.
My question is: is there anyway for me to hide the MsiRMFilesInUse dialog,
and do the close/restart application automatically? I want to use the
Restart Mananger rather than implement start/stop functions by myself, but I
don't want user to see this dialog.
Thanks,
-Elfe
--
View
Hi all,
I my setup project, I create a sub registry key MyMgmtGroup under
HKLM\SOFTWARE\Microsoft\Microsoft Operations Manager\3.0\Agent Management
Groups
Component Id=CMP_Reg_Software Guid={4578FEE6-4183-4DC8-8E5F-EEC447C6A898}
RegistryKey Action=createAndRemoveOnUninstall Root=HKLM
Hi,
In my product MSI, I reserve cost for the data folder with 200M, because later
when the application running, it's likely that the application will write lots
of data to the disk.
Directory Id=dirCB80BB8E7C4DF6458FEC42C79CD3833C Name=MyProductData
Component
Hi Pally,
Sorry if the first example is misleading, but the data created by the
product is not related with any user (actually the product is several
services, and web services, and some of the sub folder need be shared and
allow other machines in LAN to read and write). Would you please give me
like to here if there are easier
approaches.
Thanks,
-Elfe
Elfe Xu wrote:
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/file/n5334233/WixPlayground.zip
WixPlayground.zip
I wrote a small prototype as attached.
Please compile it, run the msi to install it, go
Do you mean QtExec ?
http://wix.sourceforge.net/manual-wix3/qtexec.htm
http://wix.sourceforge.net/manual-wix3/qtexec.htm
In order to use QtExec, you must include a reference to the WixUtilExtension
when building your MSI. To do this, add the command line argument -ext
WixUtilExtension.dll when
2318 is file does not exist error.
If you use C: as the INSTALLLOCATION, the application will be installed
under the drive root (c:\), there is no application folder like SecureBridge
been created.
Does your installer tring to access files under the application folder?
You can use /l*v to have
Are there any document of MSI shows what error is fatal and what can be
ignore?
Thanks,
-Elfe
--
View this message in context:
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Questions-about-showing-warning-error-message-dialog-tp5328727p5340588.html
Sent from the wix-users
Thanks Blair.
For #1, what do you mean even that can be bypassed?
So it's not possible for me to get the result of actions, then I can add a
custom action after that and execute according to the result?
--
View this message in context:
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/file/n5334233/WixPlayground.zip
WixPlayground.zip
I wrote a small prototype as attached.
Please compile it, run the msi to install it, go to the install location
folder, execute the CreateFolderAndFiles.cmd, the run uninstall.
In
Thanks. After adding the version resource, add a EnsureTable Id=RemoveFile
/ element, the RemoveFoldersEx action executed successfully.
Action 14:10:30: RemoveFoldersEx.
Action start 14:10:30: RemoveFoldersEx.
MSI (s) (A8:24) [14:10:30:747]: Invoking remote custom action. DLL:
Interesting. What is the Windoes Installer version it required?
I'm using Win7, the installer version of the product is 4.0 (Package
InstallerVersion=400 Compressed=yes /), the Windows Installer version
on my machine is 5.0.7600.16385.
I've no idea why my code failed :(
--
View this message in
Thanks Blair. I've already have the version problem resolved by adding the
version resource. This time it's the 2727 fatal error again.
Because on my machine seems the if I add rows to RemoveFile with normal
property, the installer will fail because the DirProperty is not in
Directory table.
Hi,
Hope you are not get tired with my name, as I've posted sooo many questions.
1. When write registry value fails, an error message dialog will pop up, and
show Retry/Cancel/Ignore. However, in our product, some registry keys are
critical, and we don't want allow user to choose Ignore,
The folder hierarchy is just a example. My application has nothing to do with
user accounts.
Thanks for the suggestion of using wix-contrib. At first I read the code and
thought it was easy for me to translate it to a C# version CA.
Anyway, I add version.lib to the projects, and get wix-contrib
I cannot build wixcontrib because of some link errors like error LNK2019:
unresolved external symbol _getfileversionin...@16 referenced in function
_filevers...@12, not sure if it is because I'm using a different version of
Wix like the wixcontrib project use.
By checking the RemoveFolderEx
Hi,
I've wrote a RemoveWholeFolder custom action, to remove all files and sub
folders.
Here is the code of addthe record to RemoveFile table.
private static void AddItemToRemoveFileTable(DirectoryInfo folder,
string componentId, Session session, View view)
{
string
I've changed the property name to all up cases, but still failed :(
--
View this message in context:
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/The-DirProperty-in-RemoveFile-table-must-be-a-property-name-in-Directory-table-tp5317922p5319532.html
Sent from the wix-users
Hi,
RemoveFolder can only remove empty folders, and RemoveFile can use wildchar,
but it does not support wildchar for unknown name subfolders like **\*.* .
My installer create a CustomData folder, and each customer will have its own
subfolder. They can create sub-subfolders and put files under
No, the static text control does not support selection.
Just found the correct control for me:
http://msdn.microsoft.com/en-us/library/aa371540(VS.85).aspx ScrollableText
. The only bother thing is I need to change the text into rtf format:
Too bad, the ScrollableText does not support dynamic text, so I cannot use it
to show text defined in properties.
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Scrollabletext-control-td708321.html#a708321
--
View this message in context:
Hi,
Now I come to the uninstall part.
When install my product, I have a bootstrapper, that install an external
product first as the prerequisite, and then invoke my own MSI. When uninstall
my product, I also need to uninstall the external product after uninstall my
MSI.
The command I used to
Could we have a read-only edit control, so user can select the text, but cannot
modify it?
Thanks,
-Elfe
--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit
WOW!
GenericRead + Traverse really works for Read!
Why it has such an interesting behavior? Is it a bug or by design?
The GenericRead='yes' Traverse='yes' seems to give Read.
--
View this message in context:
Hi,
I have a dialog with checkboxes to allow user choose the features they want to
install, and I have several custom actions to prepare data if user want to
install some feature.
The INSTALL_AGENT public property allows user to choose features by command
line, and the install_agent private
Hi,
I found when WriteRegistryValues action failed, an error message box pops up,
with Cancel/Retry/Ignore buttons.
In our product, some registry value are very important, and we don't want the
installer report as success if the write failes.
How could I customize the error message box, to
Emmm... Just took a look at the WixUtilExtension code, and find it's really
complex and is hard for me to modify in short time.
I will write my own CustomAction instead.
More questions:
(1) where would you put this CA? After CreateFolder of course. It must has
the virtual account, so will after
Then how to make the permission not inheritable?
I have to use PermissionEx because I'm using virtual account of a service
which is added during installation, so the granting permission action has to
be executed after install service.
Thanks,
-Elfe
--
View this message in context:
Is there any risk if we use set useLegacyV2RuntimeActivationPolicy=true? Is
there any known compatibility issues we should avoid? Do our tester need to
spend extra attention on some certain items because of this?
Thanks,
-Elfe
--
View this message in context:
Hi,
My target machine is Win2k8 R2 or Win7, which supports virtual account.
In my setup code, I have a ServiceInstall and the account is set to virtual
account NT Service\MyService
And I have a CreateFolder, which I want to grant permissions to the virtual
account
The code is like:
Hi,
I'm working on some setup project.
I built my project, run the msi, and get the product installed.
I made some change on the code, rebuilt it again, run the msi, and got error
another version is already installed, please use ARP ...
I went to the ARP in control panel, find my product, click
SUPER!
This works! Thanks!
--
View this message in context:
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/How-to-uninstall-the-program-if-I-made-such-mistake-tp5242524p5244519.html
Sent from the wix-users mailing list archive at Nabble.com.
Hi Blair,
Would you please help me to understand why I need to make the CA as deferred
without impersonation?
Since I want the install to success no matter whether the service started
successfully or failed, I just run StartMyService CA after InstallFinalize.
Do you see any problem of doing so?
Hi,
I wrote a custom action to validate user inputs:
[CustomAction]
public static ActionResult ValidateInputs(Session session)
{
//...
If(invalid)
{ session[invalid_input]=1;}
Return ActionResult.Success.
}
The in the Wix file I check for invalid_input property.
Although this works fine, I
I found the reason.
MSI can only set the property to NULL (aka Not set) when a checkbox is
unselected.
So remove the line Property Id=USE_PROXY Value=0 / (which actually
make the checkbox checked), and everything works fine.
--
View this message in context:
Hi,
I have some SetProperty code need to be executed after LaunchCondition, e.g.
SetProperty Id=use_proxy Value=1 After=LaunchConditions
Sequence=ui![CDATA[PROXY_SERVER ]]/SetProperty
To make the Product.wxs file clean, I added a new file Prepare.wxs, and move
the SetProperty code into that
Are there any workarounds?
Seems to me this is a very common scenario.
Thanks,
-Elfe
--
View this message in context:
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Edit-Control-trap-textchanged-possible-tp2907541p5224744.html
Sent from the wix-users mailing list archive at
Hi,
During my product setup, I need to let user to specify the path of a
certificate file on his local driver. I searched for something like the
OpenFileDialog in Wix/WI for a while, but could not find things for this
purpose. The DirectoryCombo and DirectoryList seems only for folders, but
@Johannes
Thanks for the link to wixwiki. But these samples are too simple and do not
show the complex usage for me to refer :(
I tried to write a custom action to use OpenFileDialog class. However, the
CA gets exceptions Current thread must be set to single thread apartment
(STA) mode before
Hi,
Hope you are not getting tired with my name, since I've posted so many
questions these days :P
This time is about a strange behavior when I use Checkbox and the SetProperty
control.
On the UI, I have
[] Use proxy:
Address: __ Port:
([] is checkbox, and is Edit)
In my
Hi,
Here is what I want:
In MySettingDlg, I have a Edit control allow user to input a sting, the Next
button will only be enabled when the string is not empty.
I thought it should be easy, but I've searched the document for long and still
didn't find solutions.
The code :
Control Id=EditServer
In MyProj.WIX.Targets, I have
PropertyGroup
DefineConstantsBinDirRoot=$(BranchBinDirRoot)/DefineConstants
/PropertyGroup
And in Components.wxs, I have
File Id=fil1DE3D614CB174A2DA7F5012F10EAC14B KeyPath=yes
Source=$(var.BinDirRoot)\abc.dll /
So far so good.
Then I want to add a file from
Interesting. Why is the DefineConstants different with other element suche as
Property?
I have a file MyProj.WIX.targets, which is used by Setupx64.wixproj and
Setupx86.wixproj. So I could not have my constants definitation partially in
the WIX.targets and partially in the wixproj files,
Hi Bob,
I have the same problem and found this very old post.
Would you please give me more detail on how to
have the compiler supply the default value for the Win64 attribute when
the InstallerPlatform .wixproj property is x64 or ia64/intel64 ?
Thanks!
-Elfe
--
View this message in
Yeah, set the INSTALLPLATFORM property works.
I had thought the build platform set by configuration means the
INSTALLPLATFORM. It's interesting that if I didn't set this property, the
sys.BUILDARCH is still correct (as I'm using Debug | x64), but the win64 is
no.
Is there any reason that:
(1)
Hi,
I'm trying a CA
CustomAction Id=RegT ExeCommand=blablabla\RegAsm.exe T.dll
Execute=immediate /
and found it can only success if I make the CA run after InstallFinalized.
Otherwise, it will fail.
I think the right way is to use Class element, but I just cannot make the
result the same as
Thanks Blair.
I checked the wix.ca.targets. Seems when using this in our TFS build
environment, I need to do a little change of the path values, because the
wix on build machine is not installed, but by copying files into the public
folder.
@Rob: yes, the articles in wix document are very clear
Yeah, the heat.exe works fine! thanks!
--
View this message in context:
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Question-about-register-net-COM-object-tp5172220p5173310.html
Sent from the wix-users mailing list archive at Nabble.com.
Hi,
I'm using the C# custome action template in VS to create my first custom
action, but it failed.
Here is my code:
In Product.wxs
Binary Id=CustomActions.dll
SourceFile=$(var.CustomActions.TargetDir)$(var.CustomActions.TargetName).CA.dll
/
CustomAction Id=CustomAction1
What a silly question I've posted -_-! I only thought about the .net
framework version issue (because previously I got a problem with .net4), but
forgot to check the document.
Thanks Blair!
--
View this message in context:
Hi all,
I've learnt that to make a wix project work with TFS, I need to edit the
.wixproj file, and also the TFSBuild project by adding ConfigurationToBuild to
Mixed Platforms.
I also learnt that if I have a C# library project, and I want to use it as
custom action library, I need to run
Hi,
Our team is about to use WIX to create installer for our product, and we need
to decide which version of wix to choose. Although the wix s...@codeplex
recommend to download wix3.0, I also saw this from
68 matches
Mail list logo