View Full Version : Conditional custom actions dont work?

01-14-2003, 02:27 PM
I have two custom actions that I want to set conditions looking for the existance of a file in the system folder. After adding the first action and condition the install runs the action correctly based on the evaluation of the condition. However, upon adding the second action and condition, the install runs both actions regardless of the evaluation of the conditions.

01-15-2003, 11:01 AM
This should work. Are both Custom Actions using the same condition? Give me a little more details and we'll iron this out.

01-15-2003, 11:09 AM
No they are not using the same condition. Each of them are looking in the system folder for a different file.

01-15-2003, 11:18 AM
Send me your .ise file to chandimar@installshield.com and I'll see if I can find what's wrong. Thanks!

07-14-2003, 01:13 PM
I don't know if this ever got resolved, but I have the same problem.

I have created custom actions that execute DX81eng_Win98SE.exe with the condition set to a Windows98 SE operating system and DX81NTeng.exe with the condition set to a Windows2000 operating system. But the condition is never "saved". E.g., when I open my project, the condition is always reset to "No conditions".

I am using InstallShield Express 4.0-SP1.

Do you know how I can fix this?

07-16-2003, 09:42 AM
This sounds wierd. It looks like a bug but if it was I am not suprised why we haven't heard a lot more about it. Out of curiosity though, wouldn't it be easier for you to simply use the DirectX 8 merge module? We distributed it with Express 4.0 and it might be available through the update service. If not I could send it to you. I don't think I ever got the file from the previous customer. If you want you can send me your .ise so that I can take a look at it. Thanks!

07-16-2003, 03:08 PM
I agree that the DirectX 8 merge module is the way to go. I had downloaded the merge module, but it didn't load it to my list of redistributibles. So I gave up and thought it was a bug.

After reading your message, I downloaded the DXsetup.exe from the update service and this time it did install the 8.1a merge module to my redistributibles. So, I've removed my two conditionals and all is right in the world with this issue.

I still have other situations where I am going to need to use conditionals, but I will mess with that later. If I still have problems I'll send the .ISE.

Thanks for the help!

08-11-2003, 02:42 PM
I needed DirectX 8.1 drivers and your merge modules are 8.0a or 9.

I have now un-selected the 8.0a redistributable and selected the 9 redistributable. However, it doesn't seem to build the installation correctly. (It puts the dx80a.exe in the ...\diskimage\disk1 folder --- this doesn't seem right to me.)

It compiles with no errors, but when I run the setup wizard I get this dialog "The wizard was interrupted before [application] could be completely installed..."

I've attached the .MSI for your review.

Thanks for the help.

08-12-2003, 05:04 PM
I "unchecked" DirectX 8.0a from my Redistributables. I then completely removed the DirectX 8.0a merge module from my system (via uninstall). It no longer shows up on my list of Redistributables, but it has left some residual information in my .MSI file because I get this error in the log file when it compiles the installation:

Created release folders
ISEXP : error -1007: Cannot copy source 'C:\Program Files\InstallShield\Express\Objects\DX8\Redist\dx80a.exe' to target 'G:\NINJA\INSTALL\Setup\InstallShield\Scripts\801\Express\SingleImage\DiskImages\DISK1\dx80a.exe'
AdminExecuteSequence table successfully built

I'll just install DirectX 8.1 prior to loading my installation. But I need to get it out of my .MSI so I can get a good compile.


03-29-2005, 06:19 PM
I am seeing this issue with custom conditions using registry values.

Has anyone found a solution to this?

I am using:
HKLM\SOFTWARE\Sonic\Direct Access\CurrentVersion\All\BUILDOEM = IBM
HKLM\SOFTWARE\VERITAS\Direct Access\CurrentVersion\All\BUILDVERSION != 490B35C

Which ever condition is first is the only one validated. If the first one is true then the second one is ignored. They are both REG_SZ.

I had also tried this by it self:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1206EF92-2E83-4859-ACCB-2048C3CB7DA6}\Version > 73334784

This is a REG_DWORD and does not validate TRUE ever. I used If Reg value is Greater then (numeric)

I am using v3.1 of ISUM.

03-30-2005, 12:23 AM
If your question is related to Update Service, please refer to this thread (http://community.installshield.com/showthread.php?t=146172).