Jan 09, 2015
10:14 AM
First, I should amend my original statement. My code did actually take into account the file name and extension by adding a fake extension. The UNC path is retrieved from a database table, in the format "\\MachineName\FolderName". I append a ".tmp" to the end to make it look like a file, and then use the "FILENAME_ONLY" to retrieve the FolderName value (which is the UNC share name that I'm looking for). The UNC path is passed into a function and the local path szUNCTemp = szUNCPath + ".tmp"; //create a fake filename for ParsePath ParsePath(szShareName, szUNCTemp, FILENAME_ONLY); This worked fine up through IS2012, same code not working when I upgraded the project into IS2014. I can recreate using hardcoded strings as well. However, if I change the scenario, I get different results for IS2014 and IS2012 (same code used in both versions): //A szUNCPath = "\\\\MachineName\\FolderName"; szUNCTemp = szUNCPath + ".tmp"; //create a fake filename for ParsePath ParsePath(szShareName, szUNCTemp, FILENAME_ONLY); MessageBox("ORIGINAL\nszUNCTemp = " + szUNCTemp + "\nszShareName = " + szShareName, SEVERE); //IS2014 returns szShareName = "" //IS2012 returns szShareName = "FolderName" //B szUNCPath = "\\\\MachineName\\FolderName"; szUNCTemp = szUNCPath; //no fake filename ParsePath(szShareName, szUNCTemp, DIRECTORY); MessageBox("DIRECTORY (no fake filename)\nszUNCTemp = " + szUNCTemp + "\nszShareName = " + szShareName, SEVERE); //IS2014 returns szShareName = "" //IS2012 returns szShareName = "" //C szUNCPath = "\\\\MachineName\\FolderName"; szUNCTemp = szUNCPath; //no fake filename ParsePath(szShareName, szUNCTemp, FILENAME); MessageBox("FILENAME (no fake filename)\nszUNCTemp = " + szUNCTemp + "\nszShareName = " + szShareName, SEVERE); //IS2014 returns szShareName = "" //IS2012 returns szShareName = "FolderName" //D szUNCPath = "\\\\MachineName\\FolderName"; szUNCTemp = "\"" + szUNCPath + "\""; //surround with quotes ParsePath(szShareName, szUNCTemp, DIRECTORY); MessageBox("DIRECTORY (surrounded by quotes, no fake filename)\nszUNCTemp = " + szUNCTemp + "\nszShareName = " + szShareName, SEVERE); //IS2014 returns szShareName = "\"\\\\MachineName\\" //IS2012 returns szShareName = "\"\\\\MachineName\\" //E szUNCPath = "\\\\MachineName\\FolderName"; szUNCTemp = "\"" + szUNCPath + "\""; //surround with quotes ParsePath(szShareName, szUNCTemp, FILENAME); MessageBox("FILENAME (surrounded by quotes, no fake filename)\nszUNCTemp = " + szUNCTemp + "\nszShareName = " + szShareName, SEVERE); //IS2014 returns szShareName = "FolderName\"" //IS2012 returns szShareName = "FolderName\"" //F szUNCPath = "\\\\MachineName\\FolderName"; szUNCTemp = "\"" + szUNCPath + ".tmp\""; //add fake filename, surround with quotes ParsePath(szShareName, szUNCTemp, FILENAME_ONLY); MessageBox("FILENAME (surrounded by quotes, fake filename)\nszUNCTemp = " + szUNCTemp + "\nszShareName = " + szShareName, SEVERE); //IS2014 returns szShareName = "FolderName" //IS2012 returns szShareName = "FolderName" So, scenario "A", the original scenario, behaves differently in IS2014 and IS2012, with IS2012 giving the results I've expected over time and throughout previous versions of IS. Scenario "B" both return blank, which is kind of expected, as "\\\\MachineName\\FolderName" is probably considered the "DISK", there is no "DIRECTORY" Scenario "C" returns different results, and, again, IS2012 would be the preferred, and maybe expected (?) results. Scenario "D" returns the same results, but contains a leading quote mark for some reason. Scenario "E" returns the same results, but contains a trailing quote mark for some reason. Scenario "F" returns the same results "FolderName", which is what I'm looking for, but based on results for "D" and "E" this seems kind of "lucky" in that "D" and "E" pick up the leading and trailing quotes, but since this is FILENAME_ONLY, the trailing quote would be at the end of the file extension. Just find this very odd, as I can't imagine the ParsePath function underwent many changes from IS2012 and IS2014.
... View more
Jan 08, 2015
12:19 PM
InstallScript Project I have a piece of code where I'm pulling the share name of a UNC path using ParsePath. i.e.: szUNCPath = "\\\\MachineName\\FolderName"; ParsePath(szShareName, szUNCPath, FILENAME); //using FILENAME since IS just pulls the value after the last slash as the value MessageBox (szShareName, SEVERE); The result is an empty value for szShareName. I've been using this piece of code in the same project since probably IS12 (that's 12, not 2012), and have upgraded versions of IS every year (except 2013), and this never presented a problem, szShareName would return "FolderName" in the value. Now, in IS 2014, it's not working. I've tried passing other operators in ParsePath (DIRECTORY, FILENAME_ONLY, PATH), and the only one that returns a value is PATH, which is not helpful. Also tried: GetDir(szUNCPath, szShareName); but got the same results. I can bypass by using some StrFind and StrSub functions, but that's not what I want to do, and want to know why this isn't working all of a sudden. Any thoughts?
... View more
Labels
- Labels:
-
InstallShield 2014
Nov 20, 2012
07:57 AM
2 Kudos
For what it's worth, I found a workaround for anyone else seeing this issue. If I add: SendMessage(hwndDlg, WM_SYSCOMMAND, SC_RESTORE, 0); in the DLG_INIT switch case, it appears to force a refresh of the dialog, and the controls show properly.
... View more
Nov 05, 2012
03:21 PM
Been over a month and no responses. Anyone from Flexera/InstallShield have any thoughts? Any skins gurus out there with a suggestion?
... View more
Sep 25, 2012
10:38 AM
Appears to be a problem using a skin (either my custom skin, or one of the out-of-the-box skins from InstallShield - specifically got the same results with the Slate skin). When I change to not use a skin, the HTML controls show properly. Any thoughts? Do I need to modify the skin configuration somehow? Is there some kind of "refresh" on the dialog I could do? Maybe an environmental issue that I'm overlooking?
... View more
Sep 24, 2012
01:16 PM
As part of the installation process, our installer will check the permissions on certain folders, and will prompt the user to apply those permissions where necessary. We created a dialog to show the user the permission information, and their options for applying the permissions. We create a table with this information, the table is HTML text, and the table is displayed in an HTML control. The problem is that when this dialog gets displayed, the HTML control is "hidden" or something, as it is not visible. I can mouse over and do a click and drag, and the text will get highlighted, and if I highlight all of the text, the table will eventually display correctly (see attached image). I do notice that the table does appear to display for a split second before becoming hidden. We have also modified the "Finish" dialog to have a clickable URL on it (no example attached, sorry), also contained in an HTML control. This also is "hidden", but selectable as well. Funny thing is that if both dialogs are displayed in the installation, and I select the text in the table for the permissions dialog until it all shows properly, the URL in the "Finish" dialog shows properly by default. Any thoughts on how to get this HTML control to always display properly?
... View more
Labels
- Labels:
-
InstallShield 2012 Spring
Jan 10, 2012
01:47 PM
Thanks for the info (and sorry for the lateness of my reply - holidays and other work issues). Can't get this to work on my end. Is your project InstallScript? I'm guessing not. Also thought that this could be related to the fact that we use one installer to install these two products (multi-instance install is enabled, we have a drop down for configuration to select which product). So, maybe since this is being done from one installer, that is the root cause? Anyone from InstallShield have a comment? I'm thinking of just creating the App Pool using appcmd.exe so it's not logged for uninstallation, as checking the "Mark Component as Permanent" doesn't seem to have the desired affect.
... View more
Dec 13, 2011
03:22 PM
Thanks for getting back to me so quickly. So, if I understand correctly, in the Components view, for component "AppPoolComponent", you have a text file that both installations will reference. And, in IIS view, under Application Pools, you have the App Pool name, and what are your settings for "Mark Component as Permanent" and "Overwrite Existing Application Pool"? And back in the Components view, is the component marked as "Shared"?
... View more
Dec 13, 2011
01:57 PM
6 months later, I'm having this same problem. No matter what combination of "Mark Component as Permanent" and "Overwrite Existing Application Pool" properties I use, the application pool is always uninstalled by one of the applications I've installed it with (regardless of the order of which application I uninstall). I'm using an InstallScript project, and the Application Pool name is being dynamically set during installation using TextSubSetValue. Even tried to set the name value statically with no success. Anyone have a solution or workaround they'd like to share? Is this a known issue and there's a hotfix or something? Am I just doing something wrong?
... View more
Aug 04, 2011
01:24 PM
Due to our policy regarding source code, I can not easily provide our RUL files, and attempts to recreate with dummy RULs have been unsuccessful. So, we're going ahead with our workaround of merging the files and going from there. Thanks for your attention in this matter.
... View more
Jul 26, 2011
01:22 PM
A support ticket has already been opened (#SIOC-000111065), and they have my ISM file (both the IS2010 and converted IS2011 files). If you could add some insight to those working on it, that would be great, as none of the suggestions have been fruitful there. Thanks!
... View more
Jul 25, 2011
08:36 AM
Tried the binary search. Edited the ISM in notepad, removing half of the RUL files. Launched the converter, project converted and opened without any problems (although, no IS on the task bar until I alt-tabbed to it). Closed out, deleted ISM file, re-opened the original in notepad, removed the other half of the RUL files. Launched the converter, project converted and opened without any problems (aside from same no IS on task bar). Doesn't appear to be a problem with a specific RUL file. Also did this test, which should be in the support ticket: If I open up my IS2010 ISM in notepad and remove all scripts from ISScriptFile except setup.rul and support.h, then do a conversion, InstallShield does not crash, and I have a viable IS2011 ISM file. If I open that ISM in IS2011 and start manually re-adding back all of my RUL files, InstallShield will eventually crash with the same error - first time, if I add 20 at a time, when I get around the 200th RUL file; second time, since I had the ISM saved after each group of 20, when I started adding one at a time, it crashed again around the 260th RUL file. I retested, adding the files 15 at a time, this time adding alphabetically backwards (so last RULs added first), again crashed around the 200th file group (so, a different group of RULs added, but crashing around the same number). Didn't try the manually adding one at a time after that, seemed unnecessary. Like I noted, it seems if I merge groups of RULs into "master" RUL files, I can get around this issue, just not ideal for us (but, if that's what I have to do, that's what I have to do, right?).
... View more
Jul 22, 2011
03:37 PM
So, here's what I have done, and successfully opened and used IS2011 with my previously working IS2010 project that has been upgraded through each version of IS since IS12 without any of these problems: FAILURE: 1. Open the IS2010 ISM file in notepad and remove all RUL files from ISScriptFile except setup.rul and support.h 2. Launch IS2011 and convert the edited ISM file in step 1, SUCCESS 3. Manually add the RUL files I removed in step 1 using the IDE 4. IS2011 crashes around the time I add the 260th RUL file SUCCESS: 1. Open the IS2010 ISM file in notepad and remove all RUL files from ISScriptFile except setup.rul and support.h 2. Launch IS2011 and convert the edited ISM file in step 1, SUCCESS 3. Merge individual RUL files into "master" RUL files (i.e., combine 20 original RUL files into one RUL file, resulting in 15 larger RUL files) 4. Manually add the 15 larger RUL files, SUCCESS So, looks like it's a file number limitation of some sort (imo). None of the original RUL files were larger than 100Kb. The largest merged RUL file is 700Kb. I'm guessing I found my own workaround, which is kind of annoying, as we intended on developing on a "one RUL per function" basis. If anyone has any thoughts, I'd like to hear them.
... View more
Jul 18, 2011
10:07 AM
Got this back from support, which I'm following up on (I can be kind of dense, so I need a few more details...) "This Issue seems to be a conversion Problem itlself. I used notepad to methodically remove rows from tables, saving after each table modification and then attempting to open in InstallShield. In your project, you have PATH_TO_INCLUDE_FILES in the ISScriptFiles table. If you use notepad to change the PATH_TO_INCLUDE syntax in the ISScriptFile table to ISProductFolder, then InstallShield 2011 can open the project."
... View more
Jul 14, 2011
09:11 AM
If InstallShield doesn't violently crash with the MS VC++ error I noted in this thread, http://community.flexerasoftware.com/showthread.php?t=198162, I get the message you're getting, but at start-up. If you go to your IS installation directory, %PROGRAMFILES%\InstallShield\2011, is there an iside.log file, and does it also have the lines: C:\CodeBases\isdev\src\FrontEnd\Views\IsWsInstallScripts\ScriptEditorWnd.cpp 1359: Out of memory. Maybe some kind of relation to my post, just speculating.
... View more
Latest posts by mpa109
Subject | Views | Posted |
---|---|---|
735 | Jan 09, 2015 10:14 AM | |
1455 | Jan 08, 2015 12:19 PM | |
1254 | Nov 20, 2012 07:57 AM | |
1254 | Nov 05, 2012 03:21 PM | |
1254 | Sep 25, 2012 10:38 AM | |
3155 | Sep 24, 2012 01:16 PM | |
1318 | Jan 10, 2012 01:47 PM | |
1318 | Dec 13, 2011 03:22 PM | |
1318 | Dec 13, 2011 01:57 PM | |
1367 | Aug 04, 2011 01:24 PM |
Activity Feed
- Got a Kudo for workaround. Jan 04, 2022 06:36 AM
- Got a Kudo for workaround. Aug 24, 2020 04:25 AM
- Posted Re: ParsePath not working for UNC path in IS 2014 on InstallShield Forum. Jan 09, 2015 10:14 AM
- Posted ParsePath not working for UNC path in IS 2014 on InstallShield Forum. Jan 08, 2015 12:19 PM
- Posted workaround on InstallShield Forum. Nov 20, 2012 07:57 AM
- Posted no thoughts? on InstallShield Forum. Nov 05, 2012 03:21 PM
- Posted skin issue? on InstallShield Forum. Sep 25, 2012 10:38 AM
- Posted HTML Controls Not Displaying - InstallScript on InstallShield Forum. Sep 24, 2012 01:16 PM
- Posted Re: AppPool shared by two installations on InstallShield Forum. Jan 10, 2012 01:47 PM
- Posted Re: AppPool shared by two installations on InstallShield Forum. Dec 13, 2011 03:22 PM
- Posted having same problem on InstallShield Forum. Dec 13, 2011 01:57 PM
- Posted Re: MS VC++ Abnormal Program Termination while upgrading IS2010 InstallScript Project on InstallShield Forum. Aug 04, 2011 01:24 PM
- Posted Re: MS VC++ Abnormal Program Termination while upgrading IS2010 InstallScript Project on InstallShield Forum. Jul 26, 2011 01:22 PM
- Posted Re: MS VC++ Abnormal Program Termination while upgrading IS2010 InstallScript Project on InstallShield Forum. Jul 25, 2011 08:36 AM
- Posted not an upgrade issue, more of a IS2011 issue (imo) on InstallShield Forum. Jul 22, 2011 03:37 PM
- Posted Re: MS VC++ Abnormal Program Termination while upgrading IS2010 InstallScript Project on InstallShield Forum. Jul 18, 2011 10:07 AM
- Posted Re: ISE2011 IDE Crash on InstallShield Forum. Jul 14, 2011 09:11 AM
- Posted Re: MS VC++ Abnormal Program Termination while upgrading IS2010 InstallScript Project on InstallShield Forum. Jul 14, 2011 07:46 AM
- Posted Re: MS VC++ Abnormal Program Termination while upgrading IS2010 InstallScript Project on InstallShield Forum. Jul 12, 2011 09:55 AM
- Posted Re: MS VC++ Abnormal Program Termination while upgrading IS2010 InstallScript Project on InstallShield Forum. Jun 29, 2011 04:16 PM