Jun 20, 2013
11:21 AM
In my experience Error 2 means that the file was not found at the launch path. After the install succeeds, before it rolls back if that is what happens, open regedit and go to where the registry entries are made for that service. HKLM\SYSTEM\CurrentControlSet\service\ Look at the 'ImagePath' string and that should be the path to the executable that the Service Control MAnager will launch. So if Start service is not working you would want to make sure that path and any command line arguments are correct. The next issue is on of permissions. Use the sc.exe tool (part of the OS) to see what permissions were granted to the service. It may be missing the permission that allows it to be started. I am not sure how to address that issue within the MSI contect yet as I am much more familiar with installing using InstallScript setups. And finally the Start Service will fail if any of the dependencies (including the proper version of .Net are missing.
... View more
Jun 20, 2013
11:08 AM
If you look at the directory table in direct editor, I suspect your path to your target location is based on [ProgramFilesFolder] which typically expands to 'c:\program files (x86)\', rather than using the root of [ProgramFiles64Folder] which is typically 'c\program files\. I am more familiar with solving this issue using InstallScript and the following information: http://helpnet.flexerasoftware.com/installshield19helplib/helplibrary/Targeting64Bit-IS.htm But in an MSI I have read some responses to the effect that what you want to do 'can't be done'. However in Heath Steward's blog he says in that it can be done, but then moves on to discuss the more general problem that most folks focus on (which is not related to your concern). So if Heath an expert on MSI says it can be done then it seems that the trick is to focus on your Directory table and the ProgramFiles64Folder property. I guess if the problem cannot be solved by adjusting the Directory table, then you might consider creating another pure x64 MSI to deploy those files and then bundling your msi packages together using a Suite project or another bundle technology like WiX. http://blogs.msdn.com/b/heaths/archive/2008/01/15/different-packages-are-required-for-different-processor-architectures.aspx
... View more
Jun 19, 2013
03:03 PM
Are the icons in a separate file with the same extension as the file the shortcut targets? MyAppIcons.exe for shortcut which targets MyApp.exe You might want to look at the two paragraphs under Remarks at this link. http://msdn.microsoft.com/en-us/library/windows/desktop/aa369210(v=vs.85).aspx
... View more
Jun 19, 2013
08:19 AM
Another way to look at this issue is that a patch is just a repair after a transform (the patch information) is applied to the msi. So the implication is that your REPAIR functionality also has a problem that should be addressed. You might want to set the patch aside and test the REPAIR functionality for a similar change to a file that you would expect to be 'repaired', with a verbose log. Also take a look at the MSIENFORCEUPGRADECOMPONENTRULES property. http://msdn.microsoft.com/en-us/library/windows/desktop/aa370093(v=vs.85).aspx
... View more
Jun 19, 2013
08:02 AM
Windows (vista or later) does not support programmatically creating a shortcut with the 'run as admin' checkbox checked. Microsoft does not want anyone to do that. An application should be designed so that elevated privileges are not needed, however if they are needed then the application should have an embedded manifest which includes: An external manifest file will be ignored. Here is info on how to embed a manifest file: http://msdn.microsoft.com/en-us/library/ms235591(v=vs.80).aspx
... View more
Jun 17, 2013
12:33 PM
Not sure if this is an MSI or InstallScript setup. Look at ALLUSERS and the concepts related to 'per machine' and 'per user'.
... View more
Jun 17, 2013
12:29 PM
Setup.iss is created by the InstallScript engine when using the -r switch and it records the entries to InstallScript dialogs (if the dialog supports this feature). If you create a custom InstallScript dialog you need to implement code to support RECORDMODE for that dialog. Dialogs presented as part of a MSI are not related to the InstallScript engine and entries to MSI dialogs do not get recorded in a setup.iss file. Typically in the MSI world you would use either public properties or transforms to change the behavior of a MSI package. It depends on how the MSI is designed as to whether the information collected in a dialog is exposed in a property. Properties do not have to be listed in the Property table if they are created on the fly and don't need to have a default value. If the MSI dialog is an external UI it may use the information in some other manner. If you look at a verbose MSI log it should indicate if a property is being used for the collected information.
... View more
Jun 14, 2013
08:38 AM
I started to implement code along this line for a MSI project (which I never completed). But what I learned so far is: 1) Create your directory tree and define a Property related to the Directory. 2) Create a custom action which: Calls MsiGetTargetPath to get what the dialog just set. Parses the path, and append the folder. Call MsiSetTargetPath. Call MsiSetProperty. 3) schedule the CA as a DoAction (Immediate Execution) called by a control on your dialog. 4) You will need to make sure that you do not call MsiSetTargetPath if resources have already been installed to that location, but you will also want to add a custom action to the Execute Sequence so that if your package is run without a UI there is a similar change. Good luck!
... View more
Jun 13, 2013
12:41 PM
I should clarify my prior post. From your reply I see that you are using MSI. My experience installing on Win 8 is with a pure InstallScript project. I only mentioned the strange behavior I was observing, because until I refactored that code for other reasons, I had no reason to think that the code in the initial dialog sequence was causing the crash after the SdFinished, and even though I sent ISLogIt Trace files to Flexera to analyze, I still do not know with certainty that the two are related. I just know that after that change I have not seen the Win 8 crash. Yes your code in the snippet is simple. I am working on a MSI project now and do not consider myself to have much expertise with MSI yet. I think I would simplify it further like this to separate the SdShowMsg from when the MessageBox is displayed, but that may be pedantic. SdShowMsg("UAC Level Change - Please wait",TRUE); nReturn = RegDBSetKeyValueEx ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", "EnableLUA", REGDB_STRING, "0", -1); SdShowMsg("UAC Level Change - Please wait",FALSE); if (nReturn < 0) then MessageBox ("RegDBSetKeyValueEx failed.", SEVERE); endif; SdShowMsg("UAC Level Change - Please wait",FALSE); On my PC (even on Win 7) "EnableLUA" is a REG_DWORD so I think you should use REGDB_NUMBER. My experience on Win 8 is that when there is a problem with memory management (as this issue would cause) it just dumps the InstallScript engine. I suspect that Win 8 is throwing an exception which it may have not done on Win 7, and the InstallScript engine is not catching the new exception when there are memory issues and just dumping the process. Still guessing.
... View more
Jun 11, 2013
11:37 AM
I suspect this is not an issue with the change in the IDE to IS2012 Spring, rather the fact that this Win32 API has different behavior depending on whether the path is a local path or a remote path and different behavior on different OS. See this link. http://msdn.microsoft.com/en-us/library/windows/desktop/aa364944(v=vs.85).aspx I suggest refactoring the code to get the return code. nReturn = Kernel32.GetFileAttributes(INSTALLDIR); Then if INVALID_FILE_ATTRIBUTES is returned, use the InstallScript Err object to find out the last error code. nDllReturned = Err.LastDllError; And use that to determine what the problem is. From the above documentation you would to pass a network share to the code as you presented it.
... View more
Jun 11, 2013
07:58 AM
No problem with SdShow on Win 8 here. I use it a lot and when I saw this thread I went back and checked on Win 8 again. Not sure what your issue would be. When I first started working with Windows 8 I had a lot of random crashes, generally after the SdFinished dialog, but sometimes at anytime. Eventually while working on a different issue I refactored code that was part of the initial dialogs for many years and prior versions of InstallShield. The random problem disappeared and in reviewing the issue seems to have been related to an InstallShield variable that was incorrectly 'freed' while calling a Win32 API. So my experience is that the memory management on Windows 8 is much more restrictive and fragile than it used to be, but if you find those kinds of issues it plays fine. I do not know what is contributing to your issue.
... View more
Jun 11, 2013
07:44 AM
In my experience this is probably an OS issue although there may be changes that you can implement in your setup to mitigate the issue. Look at the following for general information on the topic and I am sure you can find many other posts along this line. http://www.sevenforums.com/tutorials/49819-icon-cache-rebuild.html http://windowsxp.mvps.org/appicons.htm The approach I would take to isolating this issue is: 1) Install your application (and observe the issue) 2) Reset the Icon Cache and determine if this helps. If it does integrate that into the setup. 3) Under your ProductCode under the Uninstall key, do you have a DisplayIcon entry. If not create in manually in the registry and experiment with the incon index value to get the behavior that you want. Then integrate that back into your setup. I hope this helps.
... View more
Jun 11, 2013
07:32 AM
Look at this thread: http://community.flexerasoftware.com/showthread.php?187115-HowTo-use-C-DTF-with-Basic-MSI-projects
... View more
Jun 05, 2013
09:52 AM
If "Qualifying product Detected Dialog" is a custom dialog, look at the InstallScript code for that dialog (and I would compare it to the script for a built-in dialog) and make sure that it includes code to support recording responses when in record mode, and using those responses in SILENTMODE. Also if more than one instances of a dialog could take place, in the dialog sequence, then make sure each instance has a unique ID by incrementing the trailing number. You pretty much indicated why you are getting error 3 if you are hitting a dialog sequence which does not have a corresponding entry in the response file. To get all of the possible entries (assuming that all custom dialogs have the necessary SILENTMODE support implemented) you might need to record several different dialog sequences and then manually merge the entries into a single response file. For example if you record an install on a clean system you can them use that file on another clean system. However if you run it on a system where the installer already exists you will get error 3 because the Maintenance Welcome dialog (or one of the other dialogs) is missing from the response file. If you then record on that system you will get a response file for a Repair sequence. In most cases you can then open one of the response files and merge the unique dialog sections creating a response file which can be used for either clean install or repair. You may however have a dialog used in each sequence with different responses, in which case you just need to modify the ID of the dialog in one of the sequences so that the response file has two unique entries for the merging process to work. This is generally not an issue. In my projects I add code after each dialog which adds a 'comment' to the response file, to make it easier to understand. if(MODE=RECORDMODE)then SilentWriteData(szAppKey, "Comment", DATA_STRING, "string describing dialog and options user selected", 0); endif;
... View more
Latest posts by phill_mn
Subject | Views | Posted |
---|---|---|
1104 | Aug 06, 2013 08:31 AM | |
1735 | Aug 02, 2013 01:10 PM | |
1754 | Aug 01, 2013 09:45 AM | |
1237 | Jul 31, 2013 09:02 AM | |
1237 | Jul 31, 2013 08:52 AM | |
1138 | Jul 31, 2013 08:39 AM | |
1088 | Jul 24, 2013 08:15 AM | |
842 | Jul 23, 2013 04:13 PM | |
1754 | Jul 22, 2013 07:50 AM | |
884 | Jul 19, 2013 09:18 AM |
Activity Feed
- Posted Re: Help with building a install project for a folder with .dll, .exe, .cmd, files and et on InstallShield Forum. Aug 06, 2013 08:31 AM
- Posted Re: Conditionally installing Components based on Release Flags on InstallShield Forum. Aug 02, 2013 01:10 PM
- Posted Re: Uninstalling MSI from installation of another MSI on InstallShield Forum. Aug 01, 2013 09:45 AM
- Posted Re: Checking for and Installing .Net Framework on InstallShield Forum. Jul 31, 2013 09:02 AM
- Posted Re: Checking for and Installing .Net Framework on InstallShield Forum. Jul 31, 2013 08:52 AM
- Posted Re: files missing in data1.cab and data1.hdr on InstallShield Forum. Jul 31, 2013 08:39 AM
- Posted Re: Check string contains number between 0-9 on InstallShield Forum. Jul 24, 2013 08:15 AM
- Posted XML File change of applicationhost.config works for me. on InstallShield Forum. Jul 23, 2013 04:13 PM
- Posted re-cache your broken MSI with a fixed , prior to doing the on InstallShield Forum. Jul 22, 2013 07:50 AM
- Posted Re: Ini Files. on InstallShield Forum. Jul 19, 2013 09:18 AM
- Posted Re: InstallScript Question on InstallShield Forum. Jul 18, 2013 09:01 AM
- Posted Re: InstallScript Question on InstallShield Forum. Jul 17, 2013 09:25 AM
- Posted Re: Manually Create Shortcut on Desktop for 64 bit OS Can't find it on InstallShield Forum. Jul 09, 2013 03:37 PM
- Posted Re: Urgent Help plsss for find setup.exe directory on InstallShield Forum. Jul 09, 2013 03:18 PM
- Posted Re: Enabling Windows Features and Roles on InstallShield Forum. Jul 03, 2013 06:27 PM
- Posted Re: Setting the System Path Variable on InstallShield Forum. Jul 03, 2013 11:20 AM
- Posted Re: Setting the System Path Variable on InstallShield Forum. Jul 03, 2013 07:56 AM
- Posted Re: Take path from one window, take text from second on InstallShield Forum. Jul 02, 2013 01:21 PM
- Posted Re: Take path from one window, take text from second on InstallShield Forum. Jul 02, 2013 08:30 AM
- Posted Re: CA: PowerShell CA runs always in silent mode on InstallShield Forum. Jul 02, 2013 07:50 AM