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.
DLee65
Level 13
- Revenera Community
- :
- About DLee65
Oct 15, 2007
01:48 PM
I have an InstallScript setup that calls LaunchAppAndWait. Here is the basic gist of the code. prototype RegisterComponents(BOOL); ... function RegisterComponents( p_bRegister ) STRING sReg32param; STRING sLaunchStr, svFileName; begin /* Set command line parameters. /s = silent /u = unregister server IMPORTANT - do NOT miss the trailing space within the quotes. The file name to register will be appended and the space is needed. */ sReg32param = "/s "; if FALSE == p_bRegister then sReg32param = "/s /u "; endif; sLaunchStr = WINSYSDIR ^ "regsvr32.exe"; LongPathToQuote (sLaunchStr, TRUE); //change directory to application directory //to avoid long path names. ChangeDirectory(TARGETDIR); //Register specific DLL files LaunchAppAndWait(sLaunchStr, sReg32param + "dmDataConnectionWrappers.dll", LAAW_OPTION_WAIT); LaunchAppAndWait(sLaunchStr, sReg32param + "dmConnUtil.dll", LAAW_OPTION_WAIT); LaunchAppAndWait(sLaunchStr, sReg32param + "FindServ.dll", LAAW_OPTION_WAIT); LaunchAppAndWait(sLaunchStr, sReg32param + "ShapeFileControl.dll", LAAW_OPTION_WAIT); LaunchAppAndWait(sLaunchStr, sReg32param + "ADC_Generator.dll", LAAW_OPTION_WAIT); LaunchAppAndWait(sLaunchStr, sReg32param + "ExchangeWiz.dll", LAAW_OPTION_WAIT); //Register OCX files ... while(FindAllFiles(TARGETDIR,"*.ocx",svFileName, CONTINUE)=0) LongPathToQuote ( svFileName, TRUE); LaunchAppAndWait(sLaunchStr, sReg32param + svFileName,WAIT); endwhile; end; Please note you will want to include error checking here. I have removed error checking for clarity.
... View more
Oct 15, 2007
12:52 PM
The following code snippet fails with an error stating wrong data type. cDisk is a data type CHAR. ... for cDisk = 'a' to 'z' Sprintf(strDrive, "%c", cDisk); endfor; If I remove the for loop then the Sprintf works correctly. ... cDisk = 'a'; Sprintf(strDrive, "%c", cDisk); When I inspect the value of cDisk in the for loop, it has the correct value of 97. So what is happening with the for loop to cause this to fail?
... View more
Labels
- Labels:
-
InstallShield 2008
Sep 12, 2007
02:02 PM
Actually this has been deprecated in favor of the struct GetDiskInfo. // init. _DISK_INFO members: what drive, what info di.szDiskPath = p_strDirectory; di.nInfoToQuery = DISK_INFO_QUERY_DISK_FREE_SPACE; n = GetDiskInfo(&di); n = ConvertSizeToUnits( di.nFreeSpaceHigh, di.nFreeSpaceLow, BYTES, nSizeTargetHigh, nSizeTargetLow, nTargetUnits); However, I think I figured out the solution to my problem. I need to add the cost of my script defined media library to the file media library. Then I can check the disk space requirements for the entire file media library that will consider the cost for all features/components and their respective destination directories. So, my convoluted solution may have just got a whole lot simpler. 🙂 Thanks for the reply. If that does not work then I will call FeatureGetCostEx for all possible drives. In this case I would call this four times, once for the four possible install paths as indicated above.
... View more
Sep 12, 2007
12:56 PM
The side by side installation requirements but interdependent requirements may be a bit tricky but you should be able to craft a basic MSI package that meets your needs. In this you are going to have three product configurations - one for each distribution. There will be common features in each product configuration. However, for each product configuration you will want to include a unique flag value. Then in the features that are product specific you include this flag to let the setup know which feature goes with what product. The thing I don't know how to address is the issue of target directory for the shared components, I know it is possible to do this but it is a bit more than I can puzzle through in a quick reply.
... View more
Sep 12, 2007
12:49 PM
I have run into a problem when trying to check for available disk space on a user's machine. In this standard Installscript project I have four different destination directories. Dir1 = TARGETDIR; (570MB)<== User can specify a different TARGETDIR; Dir2 = DocumentsDir; (up to 178MB) <== User can change default location for documents. Dir3 = [CommonFiles]\DeLorme (35MB)<== User CANNOT change location for these files Dir4 = MapDataDir; (0 - ~4GB)<== User can specify a different directory, default is TARGETDIR. Dir1, 2 & 3 are part of the setup and have features associated with each. Dir4 is dynamic based upon what is bundled with the software (EAST, WEST, NATIONAL). This is the script defined feature. When I check for disk space now it seems like the setup is checking the file media library first and says that target destination for each feature has enough disk space. It then checks the script defined media library and then passes that library. Never does it combine the file media library and script media library; so sometimes it allows me to start installing when in reality there is not enough room for both media libraries on the same disk. Right now I have a convoluted and error prone method in place that combines the two media libraries into a single script defined media library but I just realized that my approach is flawed because I assume that all features are being installed to the same location. I also don't take into account if the target for each feature is found on the same disk as the SupportDir - and I will need extra space for setup to run when moving files from DVD to the hard disk. Is there an easier method that I am missing to evaluate total disk space required for all media libraries? I would think that something like this would be standard in InstallShield but I have yet to come across it. In any case I cannot ship a setup that will lower a user's disk space to an unsafe level - the user should NEVER see the low disk notification while installing a program.
... View more
Labels
- Labels:
-
InstallShield 2008
Jul 12, 2007
11:34 AM
I get this error when I include the DirectX 9 object and choose the option to include it on Disk1 uncompressed. In order to correct I just ran the wizard again and chose to leave it compressed. For now this works but at some point this will have to be addressed. A point to note is that I have modified the DirectX 9 INI file in object gallery so that it only includes the files I need to distribute - not all the sdk modules. Once I did this then signing with the pfx file worked.
... View more
Jun 29, 2007
08:05 AM
See the details in this post: http://community.macrovision.com/showthread.php?t=170832
... View more
Jun 29, 2007
07:59 AM
In the ObjectGallery is a single INI file that needs to be modified. {464CB2DF-4E49-4C6B-9066-2A40DA074DBE}.ini [LIST=1] Determine what files you need for your installation. Note that certain core files are required. See MSDN Installing DirectX with DirectSetup for more details. Remove the files you do not want to distribute or add any new SDK redistributables. Open the INI file mentioned above and delete all references to the files you removed in step 2 above. [LIST=a] There are two locations in the INI file to modify First is the 'DownloadFiles' section. Second is the description section for each file listed. If adding new files it is probably a good idea to add the file in here (I have not tested this yet) following the same pattern as shown above. It is NOT necessary to resequence the 'DownloadFiles' section Make sure you copy this INI file to the Standalone build ObjectGallery directory and to all machines (Standalone build and IDE builds) that will require the same pattern of deliverables. I have not tested what happens if I just modify the INI without removing the files from the DirectX9c folder. I hope the steps above help save someone else from days of endless frustration. 😄
... View more
Jun 29, 2007
07:44 AM
Yeah, I figured as much. The only thing I could think of was the issue with TypeLib and the new RegEdit. Perhaps MikeM could coordinate things to look at a dll if that is permissible for your company.
... View more
Jun 28, 2007
11:59 AM
Well, there is still a problem and I am not certain what to do about the problem. 1. SHGetFolder - when I call the function it returns the correct value. 2. I noticed that just before the function is called that I get the following msg: [CODE]InstallShield 12:29:23: ProductCode is {55BC9FA0-591C-4B0A-A744-B75F204FA6CB} MSI (s) (54!30) [12:29:23:171]: PROPERTY CHANGE: Deleting ALLUSERS property. Its current value is '1'.[/CODE] 3. I am not certain why ALLUSERS is being deleted. Is this something that happens when running as a standard user? 4. Later in the script, when the shortcut is written the following lines appear. [CODE]MSI (s) (54:B0) [12:31:48:703]: Executing op: SetTargetFolder(Folder=16) MSI (s) (54:B0) [12:31:48:703]: SHELL32::SHGetFolderPath returned: C:\Documents and Settings\winxpuser\Desktop MSI (s) (54:B0) [12:31:48:703]: Executing op: ShortcutCreate(Name=XMAPED5|DeLorme XMap Edit 5,,,FileName=C:\Program Files\DeLorme\XMapEdit Internal\XMapEdit5.exe,,,,,,ShowCmd=1,) MSI (s) (54:B0) [12:31:48:718]: Executing op: SetTargetFolder(Folder=2\DeLorme\XMap Edit 5\)[/CODE] Based on the above lines I can make the following assumptions: Folder=16 SHOULD be the common desktop folder per ShlObj.h define. The value returned though is the %USERPROFILE% value from HKCU instead of HKLM. The value I set in my custom action seems to be ignored completely when the shortcut is created! Sometimes Windows just gives me fits *twitches uncontrollably*
... View more
Jun 28, 2007
10:33 AM
The log file reports ALLUSERS = 1. I am trying a different approach. I bet when I log under a different user that the value of DesktopFolder is being redefined even though ALLUSERS = 1. Therefore it does not think this part of the component is installed. So, I am using SHGetFolderPath to get the value of: #define CSIDL_COMMON_DESKTOPDIRECTORY 0x0019 // All Users\Desktop as is defined in ShlObj.h. I believe that DesktopFolder is being defined as CSIDL_DESKTOP 0x0000 which is not the AllUsers desktop folder. My approach that I am testing right now is to create a custom directory called COMMONDESKTOP | TARGETDIR | . in the directory table. I then assign this as the _Directory foreign key in the Shortcut table. When my custom action runs and I find the value I then update the COMMONDESKTOP using MsiSetProperty.
... View more
Jun 28, 2007
09:46 AM
Remember that the release notes for IS 2008 state that COM extraction for TypeLib table is deprecated. These should be extracted to your registry table now. I seem to recall that there is a way to revert to extracting to the TypeLib table but I cannot recall the method off the top of my head.
... View more
Jun 28, 2007
09:22 AM
Has anyone else ever seen behavior like this? It seems to happen for anyone who is not the person who installed the app.
... View more
Jun 28, 2007
07:51 AM
timelox, I have been following the discussion here. One thing I would try is to open "C:\Program Files\Macrovision\IS2008\Support\RegSpyUI.exe" this will graphically show you want InstallShield sees with your COM objects. I know that InstallShield has done a great job in improving the COM extraction over the years. I have been using it since DevStudio 9 days and it has worked reliably for the most part. I had one problem but it turned out to be a problem with a dll declaring the interface without any contents, so the problem was on our part.
... View more
Jun 28, 2007
03:52 AM
When I install our app a single desktop icon appears as expected. Icons also appear under the Start menu. When I log off the administrative account and log back in as a standard user account the single desktop icon appears. When I click on the desktop icon to run the app the MSI engine starts, prompts for the media, and then creates a duplicate icon ... this time under the User's Desktop folder. The original icon was placed under the All Users' Desktop folder. How can I prevent the icon from being installed to the User's Desktop folder. I have a single Desktop Shortcut object in my setup. It is associated with a single component which also includes the Start menu icons. The start menu icons do not have this problem, just the desktop. Below is the single row from the Shortcut table that describes this object. AppDesktop, DesktopFolder, XMAPED5|DeLorme XMap Edit 5, ApplicationShortcuts, [INSTALLDIR]XMapEdit5.exe, NULL, "Description", NULL HOTKEY, NULL ICON, NULL ICON INDEX, 1, NULL WkDir, NULL DisplayResourceDll, This is not an advertised shortcut. I had previously tried to associate an advertised shortcut with a DIM file but InstallShield sets a file as the keyfile when processing DIMs and that causes ICE43 errors.
... View more
Labels
- Labels:
-
InstallShield 2008
- « Previous
- Next »
Latest posts by DLee65
Subject | Views | Posted |
---|---|---|
2996 | Dec 06, 2018 12:47 PM | |
3200 | Dec 06, 2018 11:58 AM | |
1448 | Dec 06, 2018 11:01 AM | |
2996 | Dec 06, 2018 10:36 AM | |
1320 | Nov 06, 2018 08:34 AM | |
1867 | Sep 19, 2018 01:49 PM | |
2078 | Sep 19, 2018 10:02 AM | |
2055 | Sep 19, 2018 09:31 AM | |
1412 | Sep 06, 2018 01:34 PM | |
4138 | Sep 06, 2018 01:23 PM |
Activity Feed
- Got a Kudo for Re: Tutorial to uninstall old version and then install new version in single installation. Mar 16, 2021 02:44 AM
- Got a Kudo for Re: Suite Project: How to set property on a checkbox for a custom dialog. Nov 24, 2019 02:21 AM
- Posted Re: Disk spanning stopped working, error 129 on InstallShield Forum. Dec 06, 2018 12:47 PM
- Posted Re: Pass a password as parameter to setup / How to hide from log file? on InstallShield Forum. Dec 06, 2018 11:58 AM
- Posted Re: Need to pass values from XML file to msi at run time on InstallShield Forum. Dec 06, 2018 11:01 AM
- Posted Re: Disk spanning stopped working, error 129 on InstallShield Forum. Dec 06, 2018 10:36 AM
- Posted Re: System Requirements for better Performance? on InstallShield Forum. Nov 06, 2018 08:34 AM
- Posted Solved! on InstallShield Forum. Sep 19, 2018 01:49 PM
- Posted Re: Conditional feature installation on InstallShield Forum. Sep 19, 2018 10:02 AM
- Posted How to Force Quit Suite based on Property Value set by Custom Action on InstallShield Forum. Sep 19, 2018 09:31 AM
- Posted Re: Setup.exe prerequisite conditions on InstallShield Forum. Sep 06, 2018 01:34 PM
- Posted Re: Error 1603 Installing .NET on InstallShield Forum. Sep 06, 2018 01:23 PM
- Posted Re: Administrator privileges file on InstallShield Forum. Sep 05, 2018 09:32 AM
- Posted Re: Suite Installer-how to change the 'download from web' url for packages dynamically? on InstallShield Forum. Sep 05, 2018 09:23 AM
- Posted Re: Unstallation of prerequisite with custom action on InstallShield Forum. May 16, 2018 02:12 PM
- Posted Re: Multiple Destination Folder Option on InstallShield Forum. May 16, 2018 02:01 PM
- Posted Re: InstallShield 2018 SP1 upgrade on InstallShield Forum. May 16, 2018 01:44 PM
- Posted Re: Setup type on InstallShield Forum. May 10, 2018 12:22 PM
- Posted Re: Cache path for packages in suite projects on InstallShield Forum. May 08, 2018 09:37 AM
- Posted Re: Wise Project converted to InstallShield? on InstallShield Forum. May 08, 2018 09:01 AM
Contact Me
Online Status |
Offline
|
Date Last Visited |
Mar 18, 2019
12:10 PM
|