This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
rogdawg
Level 4
- Revenera Community
- :
- About rogdawg
Jun 18, 2008
12:44 PM
I can't thank you enough for your help. Your script works perfectly on the Vista test machine I have. What a relief! I had actually spent the morning writing a .dll in C++ (its been a long time since I did any of that!) but, I will use your script instead. My C++ still needs a little more work, and the VBScript seems much more straight-forward. Thank you for all your continued work with this. You really went above and beyond the call of duty! I will continue looking at this, though. I am disappointed that I wasn't able to find the answer myself but, your code looks very different from any examples I encountered. My searching skills must need some work. Thanks again. You are a life-saver.
... View more
Jun 17, 2008
10:14 PM
What happens when this code runs on a Vista machine? Your comment ('XP/2000/Me only) leads me to believe that this code won't work on Vista. Is that correct? The entire reason I am doing this is to get my app to run on Vista by putting certain files in the Common_Documents folder. Thanks agian.
... View more
Jun 17, 2008
05:58 PM
Wow! Your code is very different from my implementation. I will have to wait until tomorrow morning to get into the office and try your code. I can't thank you enough for your help with this problem. I have tried to find out as much as I could about this issue but I am obviously way off base. Thank you for all your work on this. I will respond in the morning as soon as I have tested your code.
... View more
Jun 17, 2008
03:07 PM
Here is my script: Option Explicit Private Const CSIDL_COMMON_DOCUMENTS = &H2E Private Const SHGFP_TYPE_CURRENT = &H0 Private Const SHGFP_TYPE_DEFAULT = &H1 Private Const MAX_LENGTH = 260 Private Const S_OK = 0 Private Const S_FALSE = 1 Private Declare Function SHGetFolderPath Lib "shfolder.dll" _ Alias "SHGetFolderPathA" _ (ByVal hwndOwner As Long, _ ByVal nFolder As Long, _ ByVal hToken As Long, _ ByVal dwReserved As Long, _ ByVal lpszPath As String) As Long Public Function GetFolderPath() As Long Dim buff As String buff = Space$(MAX_LENGTH) If SHGetFolderPath(0, CSIDL_COMMON_DOCUMENTS, 0, SHGFP_TYPE_CURRENT, buff) = S_OK Then Session.TargetPath("COMMONDOCSALL") = TrimNull(buff) GetFolderPath = 1 Else GetFolderPath = 0 End If End Function Private Function TrimNull(startstr As String) As String TrimNull = Left$(startstr, InStr(startstr, Chr(0)) - 1) End Function I am attaching a screen shot ( )of the directory tree from the Files view. If I right-click on the CommonDocsAll folder, I see that Location: "COMMONDOCSALL". Here is my Custom Action view: It seems to me that this should work. I must be doing something really stupid. Thank you for your patience, and any further help you can give.
... View more
Jun 17, 2008
07:57 AM
In my VBScript, if I use the MsiSetTargetPath function, I will need to pass in the handle to the .msi database. I understood that, if I was calling a .dll, I could use the "New" function signature to pass the handle into my named function, and I could have that function require the handle as an argument. If I use VBScript, how can I pass the handle to the .msi database into my script, so I can use the MsiSetTargetPath function? I haven't seen an example of passing arguments to VBScripts. Or, can I refer to "COMMONDOCSALL" using the Session.Property() functionality, which doesn't require the handle? Thanks again for your help. UPDATE: I have verified that using Session.Property("COMMONDOCSALL") does not work. So, I guess I need to figure out a way to pass the .msi handle into my VBScript.
... View more
Jun 17, 2008
07:33 AM
Thanks very much for your help. I originally implemented my custom action with vbscript, and switched to using a dll when the script didn't work properly. I will switch back to the script, now that I have a better understanding. Hopefully I can get it to work now. Thanks again.
... View more
Jun 16, 2008
04:10 PM
Thanks very much for responding. I am not sure I understand what you are saying. The folder identifier I should specify should be the key value in the Directory Table? That is the directory table in the installer, right? If I right-click on the CommonDocsAll folder that I defined in the Files view ("Destination computer's folders" pane), then I do see "Location: [COMMONDOCSALL]". Also, to update: I changed the way I am implementing this...I created a .dll and I now point my Custom Action to the dll. I am using Function Signature = New. here is the code from the dll: (FindPublicDocsFolder.dll) Public Function GetFolderPath(ByVal hMSI As Long) As Long Dim buff As String buff = Space$(MAX_LENGTH) If SHGetFolderPath(0, CSIDL_COMMON_DOCUMENTS, 0, SHGFP_TYPE_CURRENT, buff) = S_OK Then MsiSetTargetPath hMSI, "COMMONDOCSALL", TrimNull(buff) GetFolderPath = -1 Else GetFolderPath = 0 End If End Function Private Function TrimNull(startstr As String) As String TrimNull = Left$(startstr, InStr(startstr, Chr(0)) - 1) End Function The code compiles. But, when I try to do the install, I get this: "Can not find the entry point of function 'GetFolderPath', make sure it is exported." I wrote the dll in VB. Do I need to include some additional file? FindPublicDocsFolder.exp perhaps? If so, where/how do I do that? Thanks again for any help you can provide.
... View more
Jun 14, 2008
07:16 AM
I have the unfortunate duty of trying to update a small desktop application for Windows Vista compatibility. I need to utilize the "All Users\Documents" folder so my application can read and write files for all the users of a machine. Since the CSIDL_COMMON_DOCUMENTS folder is not one of the predefined folders in the Files view in InstallShield, I am trying to write a Custom Action to set my folder to the correct path. Here is what I have done. I created a folder in the Files view (Destination Computer's Folders pane) called CommonDocsAll, underneath it, I have a folder named "AppName". I placed all the files that should be in that folder there (Destination Computer's Files pane). Then I went to the Custom Actions view and created a custom action under "After Initialization (before first dialog)". I named the custom action "FindCommonDocsFolder". Here are it's properties: Source Location: Browse File System File Name: \FindSpecialFolder.vbs Function Name: GetFolderPath Wait for Action: Yes Ignore Exit Code: Yes Comments: Condition: No Conditions Here is the code in the FindSpecialFolder.vbs file: Option Explicit Private Const CSIDL_COMMON_DOCUMENTS = &H2E Private Const SHGFP_TYPE_CURRENT = &H0 Private Const SHGFP_TYPE_DEFAULT = &H1 Private Const MAX_LENGTH = 260 Private Const S_OK = 0 Private Const S_FALSE = 1 Private Declare Function SHGetFolderPath Lib "shfolder.dll" _ Alias "SHGetFolderPathA" _ (ByVal hwndOwner As Long, _ ByVal nFolder As Long, _ ByVal hToken As Long, _ ByVal dwReserved As Long, _ ByVal lpszPath As String) As Long Private Function GetFolderPath() Dim buff As String buff = Space$(MAX_LENGTH) If SHGetFolderPath(0, CSIDL_COMMON_DOCUMENTS, 0, SHGFP_TYPE_CURRENT, buff) = S_OK Then MsiSetTargetPath(hMSI, "CommonDocsAll", TrimNull(buff)) GetFolderPath = S_OK Else GetFolderPath = S_FALSE End If End Function Private Function TrimNull(startstr As String) As String TrimNull = Left$(startstr, InStr(startstr, Chr(0)) - 1) End Function I don't get any errors from this code but, the path to the folder is not changed. On my Vista test machine, the "AppName" folder is installed like this C:\CommonDocsAll\AppName. I wanted the files to be installed like this C:\Users\Public\Documents\AppName What am I doing wrong? How can I set that folder to the correct path? How can I point the installation to the "CommonDocsAll" path I have set? Thanks, in advance, for any help you can give.
... View more
Labels
- Labels:
-
InstallShield 2008 Express
Jun 13, 2008
09:45 AM
Thanks for responding to my question. I enabled logging and created a new install. After I installed it on my Vista test machine, I checked the log files that were created in the Windows\Temp directory. I can't see anything that seems to deal with short cuts or the start menu in any way. Two log files were created. One has quite a few lines of code similar to this: 10:06:11_536 : DEBUG: package_1_for_KB905866 is not a language type package there are 30 or more lines such as this. The only difference bewtween each is the number of the Knowledge Base package. I don't think these have anything to do with what we are discussing but, that is the only remarkable feature of the log file that I can see. I will keep searching for ways to improve this. The more I look at it, the more I realize that there are other things I could be doing differently with this installation. Thanks again for your response
... View more
Jun 12, 2008
11:58 AM
How can I specify that the Start Menu shortcut only be available to the user that installed my product. I am specifically trying to target the Vista operating system. My program installs some files to the Program Files directory, but many other files are installed to user-specific directories. So, I do not want a shortcut to the application to appear in anyone's Start menu, other than the user that installed the application. Is that possible? Thanks in advance for any advice... MORE INFORMATION I have the ALLUSERS property set like this: ALLUSERS=""(Per -user installation) On a Vista machine, the shortcut appears in the Start Menu of the user who installed the application. It also appears in the Start menu of the administrator. It does no appear as a shortcut in the start menu of a normal user, other than the one that installed it but, any other user can easily navigate to it by going to All Programs. Is there a way to prevent the name of my application from appearing the the "All Programs" list? Thanks.
... View more
Labels
- Labels:
-
InstallShield 2008
Dec 05, 2007
04:00 PM
I found the solution. It was a missing reference to a dll. D'oh!
... View more
Dec 04, 2007
12:38 PM
I have created a project that builds correctly, with no errors. However, when I run the setup.exe and try to launch the application, I get: Run-time error '429': ActiveX component can't create object Most posts that I have found regarding this error say to check the registration type of the dlls in question, to ensure that they use "Self-registration". I have tried this and it seems to have no effect at all. I placed some debug code in the initial Form.Load event of my application to see if error was caused when the app. tried to load a control. Then I rebuilt the setup program, and re-installed it. But, the error occurs before the form.load event occurs, so my code never runs. I am at a loss. This is a VB6 application that we are maintaining until an updated version can be built. We have been able to produce good setup programs in the past, and I am actually using some very old .ism files, converted to .isi. I have also used a very old version of InstallShield (3.03) to produce a setup.exe file, and I get the same results. Any suggestions for debugging the problem or, better yet, SOLVING this problem, would be greatly appreciated. I have burned 3 days on this problem, and I REALLY need to get a good setup program that actually works. Thanks, in advance for any help you can provide.
... View more
Labels
- Labels:
-
InstallShield 2008 Express
Latest posts by rogdawg
Subject | Views | Posted |
---|---|---|
3545 | Jun 18, 2008 12:44 PM | |
3545 | Jun 17, 2008 10:14 PM | |
3545 | Jun 17, 2008 05:58 PM | |
4308 | Jun 17, 2008 03:07 PM | |
4308 | Jun 17, 2008 02:08 PM | |
4308 | Jun 17, 2008 07:57 AM | |
4308 | Jun 17, 2008 07:33 AM | |
4308 | Jun 16, 2008 04:10 PM | |
39943 | Jun 14, 2008 07:16 AM | |
683 | Jun 13, 2008 09:45 AM |
Activity Feed
- Posted Thanks on InstallShield Forum. Jun 18, 2008 12:44 PM
- Posted Vista on InstallShield Forum. Jun 17, 2008 10:14 PM
- Posted Wow! on InstallShield Forum. Jun 17, 2008 05:58 PM
- Posted one last attempt: on InstallShield Forum. Jun 17, 2008 03:07 PM
- Posted Aaaaaarrrrrrrrrrrrrrrgh!!!!!! on InstallShield Forum. Jun 17, 2008 02:08 PM
- Posted One more question on InstallShield Forum. Jun 17, 2008 07:57 AM
- Posted thank you on InstallShield Forum. Jun 17, 2008 07:33 AM
- Posted Thank you for your response! on InstallShield Forum. Jun 16, 2008 04:10 PM
- Posted Custom Action problem - on InstallShield Forum. Jun 14, 2008 07:16 AM
- Posted thank you for your reply on InstallShield Forum. Jun 13, 2008 09:45 AM
- Posted user specific start menu shortcut on InstallShield Forum. Jun 12, 2008 11:58 AM
- Posted solved on InstallShield Forum. Dec 05, 2007 04:00 PM
- Posted ActiveX component can't create object on InstallShield Forum. Dec 04, 2007 12:38 PM
Contact Me
Online Status |
Offline
|
Date Last Visited |
Mar 18, 2019
12:11 PM
|