Aug 22, 2008
02:37 PM
Thanks Robert! It's a feature, ha. Oddly enough that is the very help page that I had open when I went to look for the document you suggested. Apparently my eyes avoid the giant bold emphasis caution block. It is definitely documented, but could they really do more to make it stand out? 😄
... View more
Aug 22, 2008
02:18 PM
Is this a boolean logic bug? Or am I going crazy? Summary: The operators || && appear to evaluate EVERY function, regardless of whether they needed to be evaluated or not. This is in stark contrast to nearly every other language. Here is the code that I've created to come to this conclusion, please try it out and let me know what results you get. #ifdef WTF_BUG prototype A(BOOL); prototype B(BOOL); prototype C(BOOL); function A(ret) begin MessageBox("A", INFORMATION); return ret; end; function B(ret) begin MessageBox("B", INFORMATION); return ret; end; function C(ret) begin MessageBox("C", INFORMATION); return ret; end; #endif function OnBegin() begin // This first part is meant to determine whether boolean logic is sane at all in the first place, and also that the functions A B C are operating as expected (input->output) #ifdef WTF_BUG if A(TRUE) == TRUE then MessageBox("true is true", INFORMATION); endif; if !A(TRUE) == FALSE then MessageBox("!true is false", INFORMATION); endif; if A(FALSE) == FALSE then MessageBox("false is false", INFORMATION); endif; if !A(FALSE) == TRUE then MessageBox("!false is true", INFORMATION); endif; // this section is meant to test the logic operators if A(TRUE) == TRUE || B(FALSE) == TRUE || C(TRUE) == TRUE then MessageBox("should Only see A", INFORMATION); endif; if (A(FALSE) == TRUE || B(TRUE) == TRUE) || C(FALSE) == TRUE then MessageBox("should only see A B", INFORMATION); endif; if A(FALSE) == TRUE && B(TRUE) == TRUE && C(TRUE) == TRUE then MessageBox("Should not see this message", INFORMATION); else MessageBox("Should only see A", INFORMATION); endif; if A(TRUE) == TRUE && B(FALSE) == TRUE && C(TRUE) == TRUE then MessageBox("Should not see this message", INFORMATION); else MessageBox("Should only see A B", INFORMATION); endif; if A(FALSE) == TRUE || B(FALSE) == TRUE || C(FALSE) == TRUE then MessageBox("Should not see this message", INFORMATION); else MessageBox("Should see A B C", INFORMATION); endif; if A(FALSE) == TRUE && B(FALSE) == TRUE && C(FALSE) == TRUE then MessageBox("Should not see this message", INFORMATION); else MessageBox("Should only see A", INFORMATION); endif; abort; #endif In EVERY case, each function is evaluated and then the result from each function is used to determine whether or not the condition is true. Please tell me I am doing something wrong.
... View more
Labels
- Labels:
-
InstallShield 2008
Aug 21, 2008
02:48 PM
So far the only way I've determined this is possible is as follows: Maintenance mode: standard Product GUID: {xxxxxx....} onBegin - if ProductGUID exists, copy to temp and delete original spawn new process for setup.exe, don't wait abort onAbort if productguid temp exists, rename temp to productguid
... View more
Aug 21, 2008
01:25 PM
I personally use cacls in my projects and it works magically. pushd c:\windows\system32 :: /T - Traverse/Recursive :: /E - Edit ACL instead of replacing :: /C - continue if access is denied :: /G - grant privilege cacls "%1\YYYYYYY" /T /C /E /G Users:F cacls "%ALLUSERSPROFILE%\Documents\XXXXXX" /T /E /C /G Users:F popd :: pause In this case, %1 gets set to TARGETDIR. I use LaunchAppAndWait to call this script in a bat file. If you don't want your users to see what's happening you can redirect cacls output to NUL ( cacls ... > NUL )
... View more
Aug 21, 2008
08:29 AM
I have an installscript project. We'll call it CoolApp. There's two releases, 1.0 and 1.1. CoolApp 1.1 gets installed on top of CoolApp 1.0. Add/Remove programs ends up having two entries: one for 1.0 and for 1.1. The easy way is to directly edit the registry and delete the CoolApp 1.0 Uninstall key when performing the installation of CoolApp 1.1. This becomes a hassle once you get up to version 1.7. I'd rather not have to do this. However, the options that InstallShield offers for the Maintenance Mode are insufficient for what I'd like to do. Essentially I want to use "multi-instance" and force IS to NOT generate a new product GUID, to instead use the same GUID that CoolApp 1.0 used, but, when the setup is run to display the installation wizard and not the uninstall.
... View more
Labels
- Labels:
-
InstallShield 2008
Aug 21, 2008
07:49 AM
I'm not sure if you made a typo or are mistaken, but the keypath should be HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall Make sure that your project is setup in "Standard" maintenance mode. This will cause the uninstall wizard to appear when you click setup as opposed to the normal setup wizard.
... View more
Jul 18, 2008
07:54 AM
Hi, The IS project I have created consists of several releases and are customized via preprocessor directives. However, I've been unable to figure out how to setup the advanced files node under Support Files for a specific release. For instance, release "A" might need installation softdep.exe but release "B" doesn't want this 100MB file. The solution I've come up with is to manipulate the source directory post-build. I can go through the release builds and delete unnecessary files. Alternatively I could disable advanced files in IS and have the post-build batch process copy only the necessary files. These options are fine but if there's a way to do this in IS I'd love to know.
... View more
Labels
- Labels:
-
InstallShield 2008
Jul 17, 2008
12:44 PM
Make sure you don't have LOGGING disabled via Disable. You may need to Enable() it.
... View more
Latest posts by Kyle_Gibson
Subject | Views | Posted |
---|---|---|
600 | Aug 22, 2008 02:37 PM | |
4084 | Aug 22, 2008 02:18 PM | |
559 | Aug 21, 2008 02:48 PM | |
1423 | Aug 21, 2008 01:25 PM | |
5453 | Aug 21, 2008 08:29 AM | |
432 | Aug 21, 2008 07:49 AM | |
5059 | Jul 18, 2008 07:54 AM | |
591 | Jul 17, 2008 12:44 PM |
Activity Feed
- Posted Re: Handling of Boolean Logic Operators [bug?] on InstallShield Forum. Aug 22, 2008 02:37 PM
- Posted Handling of Boolean Logic Operators [bug?] on InstallShield Forum. Aug 22, 2008 02:18 PM
- Posted Re: maintenance mode on InstallShield Forum. Aug 21, 2008 02:48 PM
- Posted Re: Change folder permissions on InstallShield Forum. Aug 21, 2008 01:25 PM
- Posted maintenance mode on InstallShield Forum. Aug 21, 2008 08:29 AM
- Posted Re: Simulate an installation with registry keys on InstallShield Forum. Aug 21, 2008 07:49 AM
- Posted Release specific Support/Advanced files on InstallShield Forum. Jul 18, 2008 07:54 AM
- Posted Re: Registry entries are not getting deleted after un-installation on InstallShield Forum. Jul 17, 2008 12:44 PM