Packaging an In-House 16 Bit legacy APP with Wise Studio
This particualr app was created in 2000 with a 16 bit installer (setup.exe) by someone who no longer works for the company.
It basically installs 27 files to 3 different folders on the root of the C: , and also 24 DLL and OCX files to the Windows\System Directory. Plus 3-4 harmless registry entries.
I think some of the files are like vb3 vb4 runtimes and they were created in about 96.
I have tried a bunch of differenet capture methods, all with mixed results.
because the exe is hard coded to use the 3 directorys in teh C drive, all the files need to be installed there. When packaging them, wise tries to make the default install directory on the largest drive, in one of the folders that the files should be in. As well as OLE and DLL errors
I tried creating the package manually as I went pretty well with quickfacts ! (Wise for windows installer) I added all the reg keys, the files to directorys in the bottom window (all as if the destination computer will be installing at root) But when it installs, it needs one directory deep before It wil install the other 2 directorys. Now if I choose to install the package on D: , which has the most space, it preserves the directorys and puts the 3 directorys at root level.
Yet not on C: ??
I want to hard code the installation directorys into WFWI that I have created. Yet when changing tables / properties, it wants one of the predefined directorys that will not yet you have e.g C:\legacyapp
I would like to know how to create the msi, so that it installs to the 3 folders at the root of the C:
Any help would be greatly appreciated.
It basically installs 27 files to 3 different folders on the root of the C: , and also 24 DLL and OCX files to the Windows\System Directory. Plus 3-4 harmless registry entries.
I think some of the files are like vb3 vb4 runtimes and they were created in about 96.
I have tried a bunch of differenet capture methods, all with mixed results.
because the exe is hard coded to use the 3 directorys in teh C drive, all the files need to be installed there. When packaging them, wise tries to make the default install directory on the largest drive, in one of the folders that the files should be in. As well as OLE and DLL errors
I tried creating the package manually as I went pretty well with quickfacts ! (Wise for windows installer) I added all the reg keys, the files to directorys in the bottom window (all as if the destination computer will be installing at root) But when it installs, it needs one directory deep before It wil install the other 2 directorys. Now if I choose to install the package on D: , which has the most space, it preserves the directorys and puts the 3 directorys at root level.
Yet not on C: ??
I want to hard code the installation directorys into WFWI that I have created. Yet when changing tables / properties, it wants one of the predefined directorys that will not yet you have e.g C:\legacyapp
I would like to know how to create the msi, so that it installs to the 3 folders at the root of the C:
Any help would be greatly appreciated.
0 Comments
[ + ] Show comments
Answers (8)
Please log in to answer
Posted by:
VikingLoki
19 years ago
C:\ is protected because things should not be installed there. (I hope your developer was fired.) To install files & folders to the root, you need to jump through a few hoops. See the Wise KB Article.
Posted by:
ancientcontra
19 years ago
Ok I have managed to install the App manaully, changing the install path at run time to C:\LegacyApp
The application installs, then I run a second package to add a folder onto the C:\secondlegacyApp - which automatically chooses C:\secondlegacyApp as the default directory at install. So i can run this app -qb and all is cool.
This all works, and I was expecting to create a transform to manaully change the install directory for this first app.
i step through the install tailor to create the transform and All is OK (changing the directory to C:\Legacy App)
then when i run msiexec /i legacyapp.msi TRANSFORMS="legacyapp.mst" I get Error applying transforms - verify that the specified paths are correct"
Is this the same limitation on transforms as it was in MSI's ? ? ??
The application installs, then I run a second package to add a folder onto the C:\secondlegacyApp - which automatically chooses C:\secondlegacyApp as the default directory at install. So i can run this app -qb and all is cool.
This all works, and I was expecting to create a transform to manaully change the install directory for this first app.
i step through the install tailor to create the transform and All is OK (changing the directory to C:\Legacy App)
then when i run msiexec /i legacyapp.msi TRANSFORMS="legacyapp.mst" I get Error applying transforms - verify that the specified paths are correct"
Is this the same limitation on transforms as it was in MSI's ? ? ??
Posted by:
VikingLoki
19 years ago
Posted by:
ancientcontra
19 years ago
Posted by:
ancientcontra
19 years ago
Here is the LOG... how do I convert the MST file into a windows installer 2.0 one -- I think that is the issue (with Wise studio)..
=== Verbose logging started: 15/09/2005 10:18:04 Build type: SHIP UNICODE 3.00.3790.2180 Calling process: C:\WINDOWS\system32\msiexec.exe ===
MSI (c) (A8:B0) [10:18:04:988]: Resetting cached policy values
MSI (c) (A8:B0) [10:18:04:988]: Machine policy value 'Debug' is 0
MSI (c) (A8:B0) [10:18:04:988]: ******* RunEngine:
******* Product: \\cry3160l\C$\test\Rtas Mourant.msi
******* Action:
******* CommandLine: **********
MSI (c) (A8:B0) [10:18:05:118]: Incrementing counter to disable shutdown. Counter after increment: 0
MSI (c) (A8:B0) [10:18:05:139]: Machine policy value 'DisableUserInstalls' is 0
MSI (c) (A8:B0) [10:18:06:721]: Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied. Counter after decrement: -1
MSI (c) (A8:B0) [10:18:06:721]: SOFTWARE RESTRICTION POLICY: Verifying package --> '\\cry3160l\C$\test\Rtas Mourant.msi' against software restriction policy
MSI (c) (A8:B0) [10:18:06:721]: Note: 1: 2262 2: DigitalSignature 3: -2147287038
MSI (c) (A8:B0) [10:18:06:721]: SOFTWARE RESTRICTION POLICY: \\cry3160l\C$\test\Rtas Mourant.msi is not digitally signed
MSI (c) (A8:B0) [10:18:06:741]: SOFTWARE RESTRICTION POLICY: \\cry3160l\C$\test\Rtas Mourant.msi is permitted to run at the 'unrestricted' authorization level.
MSI (c) (A8:B0) [10:18:06:751]: Cloaking enabled.
MSI (c) (A8:B0) [10:18:06:751]: Attempting to enable all disabled priveleges before calling Install on Server
MSI (c) (A8:B0) [10:18:06:771]: End dialog not enabled
MSI (c) (A8:B0) [10:18:06:771]: Original package ==> \\cry3160l\C$\test\Rtas Mourant.msi
MSI (c) (A8:B0) [10:18:06:771]: Package we're running from ==> C:\DOCUME~1\cuttn\LOCALS~1\Temp\65225.msi
MSI (c) (A8:B0) [10:18:06:771]: APPCOMPAT: looking for appcompat database entry with ProductCode '{F445D6E7-F548-45A5-871B-F44D85645405}'.
MSI (c) (A8:B0) [10:18:06:771]: APPCOMPAT: no matching ProductCode found in database.
MSI (c) (A8:B0) [10:18:06:771]: MSCOREE not loaded loading copy from system32
MSI (c) (A8:B0) [10:18:06:771]: Machine policy value 'TransformsSecure' is 0
MSI (c) (A8:B0) [10:18:06:771]: User policy value 'TransformsAtSource' is 0
MSI (c) (A8:B0) [10:18:06:771]: Machine policy value 'DisablePatch' is 0
MSI (c) (A8:B0) [10:18:06:771]: Machine policy value 'AllowLockdownPatch' is 0
MSI (c) (A8:B0) [10:18:06:771]: Machine policy value 'DisableLUAPatching' is 0
MSI (c) (A8:B0) [10:18:06:771]: Machine policy value 'DisableFlyWeightPatching' is 0
MSI (c) (A8:B0) [10:18:06:771]: Looking for file transform: \\cry3160l\C$\test\Rtas.mst
MSI (c) (A8:B0) [10:18:06:831]: Original transform ==> \\cry3160l\C$\test\Rtas.mst
MSI (c) (A8:B0) [10:18:06:831]: Transform we're running from ==> C:\DOCUME~1\cuttn\LOCALS~1\Temp\65226.mst
MSI (c) (A8:B0) [10:18:06:831]: SOFTWARE RESTRICTION POLICY: Verifying transform --> '\\cry3160l\C$\test\Rtas.mst' against software restriction policy
MSI (c) (A8:B0) [10:18:06:831]: Note: 1: 2262 2: DigitalSignature 3: -2147287038
MSI (c) (A8:B0) [10:18:06:831]: SOFTWARE RESTRICTION POLICY: \\cry3160l\C$\test\Rtas.mst is not digitally signed
MSI (c) (A8:B0) [10:18:06:861]: SOFTWARE RESTRICTION POLICY: \\cry3160l\C$\test\Rtas.mst is permitted to run at the 'unrestricted' authorization level.
MSI (c) (A8:B0) [10:18:06:861]: Note: 1: 2759 2: C:\DOCUME~1\cuttn\LOCALS~1\Temp\65226.mst 3: 301 4: 30 5: 300
MSI (c) (A8:B0) [10:18:06:861]: Note: 1: 2729
DEBUG: Error 2759: Transform C:\DOCUME~1\cuttn\LOCALS~1\Temp\65226.mst version 301 incompatible with engine; Min: 30, Max: 300.
1: 2759 2: C:\DOCUME~1\cuttn\LOCALS~1\Temp\65226.mst 3: 301 4: 30 5: 300
Error applying transforms. Verify that the specified transform paths are valid.
\\cry3160l\C$\test\Rtas.mst
MSI (c) (A8:B0) [10:18:06:861]: Note: 1: 1708
MSI (c) (A8:B0) [10:18:06:861]: Note: 1: 2729
MSI (c) (A8:B0) [10:18:06:861]: Note: 1: 2729
MSI (c) (A8:B0) [10:18:06:861]: Product: Mourant RTAS -- Installation failed.
MSI (c) (A8:B0) [10:18:06:861]: Attempting to delete file C:\DOCUME~1\cuttn\LOCALS~1\Temp\65226.mst
MSI (c) (A8:B0) [10:18:06:861]: MainEngineThread is returning 1624
=== Verbose logging stopped: 15/09/2005 10:18:06 ===
=== Verbose logging started: 15/09/2005 10:18:04 Build type: SHIP UNICODE 3.00.3790.2180 Calling process: C:\WINDOWS\system32\msiexec.exe ===
MSI (c) (A8:B0) [10:18:04:988]: Resetting cached policy values
MSI (c) (A8:B0) [10:18:04:988]: Machine policy value 'Debug' is 0
MSI (c) (A8:B0) [10:18:04:988]: ******* RunEngine:
******* Product: \\cry3160l\C$\test\Rtas Mourant.msi
******* Action:
******* CommandLine: **********
MSI (c) (A8:B0) [10:18:05:118]: Incrementing counter to disable shutdown. Counter after increment: 0
MSI (c) (A8:B0) [10:18:05:139]: Machine policy value 'DisableUserInstalls' is 0
MSI (c) (A8:B0) [10:18:06:721]: Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied. Counter after decrement: -1
MSI (c) (A8:B0) [10:18:06:721]: SOFTWARE RESTRICTION POLICY: Verifying package --> '\\cry3160l\C$\test\Rtas Mourant.msi' against software restriction policy
MSI (c) (A8:B0) [10:18:06:721]: Note: 1: 2262 2: DigitalSignature 3: -2147287038
MSI (c) (A8:B0) [10:18:06:721]: SOFTWARE RESTRICTION POLICY: \\cry3160l\C$\test\Rtas Mourant.msi is not digitally signed
MSI (c) (A8:B0) [10:18:06:741]: SOFTWARE RESTRICTION POLICY: \\cry3160l\C$\test\Rtas Mourant.msi is permitted to run at the 'unrestricted' authorization level.
MSI (c) (A8:B0) [10:18:06:751]: Cloaking enabled.
MSI (c) (A8:B0) [10:18:06:751]: Attempting to enable all disabled priveleges before calling Install on Server
MSI (c) (A8:B0) [10:18:06:771]: End dialog not enabled
MSI (c) (A8:B0) [10:18:06:771]: Original package ==> \\cry3160l\C$\test\Rtas Mourant.msi
MSI (c) (A8:B0) [10:18:06:771]: Package we're running from ==> C:\DOCUME~1\cuttn\LOCALS~1\Temp\65225.msi
MSI (c) (A8:B0) [10:18:06:771]: APPCOMPAT: looking for appcompat database entry with ProductCode '{F445D6E7-F548-45A5-871B-F44D85645405}'.
MSI (c) (A8:B0) [10:18:06:771]: APPCOMPAT: no matching ProductCode found in database.
MSI (c) (A8:B0) [10:18:06:771]: MSCOREE not loaded loading copy from system32
MSI (c) (A8:B0) [10:18:06:771]: Machine policy value 'TransformsSecure' is 0
MSI (c) (A8:B0) [10:18:06:771]: User policy value 'TransformsAtSource' is 0
MSI (c) (A8:B0) [10:18:06:771]: Machine policy value 'DisablePatch' is 0
MSI (c) (A8:B0) [10:18:06:771]: Machine policy value 'AllowLockdownPatch' is 0
MSI (c) (A8:B0) [10:18:06:771]: Machine policy value 'DisableLUAPatching' is 0
MSI (c) (A8:B0) [10:18:06:771]: Machine policy value 'DisableFlyWeightPatching' is 0
MSI (c) (A8:B0) [10:18:06:771]: Looking for file transform: \\cry3160l\C$\test\Rtas.mst
MSI (c) (A8:B0) [10:18:06:831]: Original transform ==> \\cry3160l\C$\test\Rtas.mst
MSI (c) (A8:B0) [10:18:06:831]: Transform we're running from ==> C:\DOCUME~1\cuttn\LOCALS~1\Temp\65226.mst
MSI (c) (A8:B0) [10:18:06:831]: SOFTWARE RESTRICTION POLICY: Verifying transform --> '\\cry3160l\C$\test\Rtas.mst' against software restriction policy
MSI (c) (A8:B0) [10:18:06:831]: Note: 1: 2262 2: DigitalSignature 3: -2147287038
MSI (c) (A8:B0) [10:18:06:831]: SOFTWARE RESTRICTION POLICY: \\cry3160l\C$\test\Rtas.mst is not digitally signed
MSI (c) (A8:B0) [10:18:06:861]: SOFTWARE RESTRICTION POLICY: \\cry3160l\C$\test\Rtas.mst is permitted to run at the 'unrestricted' authorization level.
MSI (c) (A8:B0) [10:18:06:861]: Note: 1: 2759 2: C:\DOCUME~1\cuttn\LOCALS~1\Temp\65226.mst 3: 301 4: 30 5: 300
MSI (c) (A8:B0) [10:18:06:861]: Note: 1: 2729
DEBUG: Error 2759: Transform C:\DOCUME~1\cuttn\LOCALS~1\Temp\65226.mst version 301 incompatible with engine; Min: 30, Max: 300.
1: 2759 2: C:\DOCUME~1\cuttn\LOCALS~1\Temp\65226.mst 3: 301 4: 30 5: 300
Error applying transforms. Verify that the specified transform paths are valid.
\\cry3160l\C$\test\Rtas.mst
MSI (c) (A8:B0) [10:18:06:861]: Note: 1: 1708
MSI (c) (A8:B0) [10:18:06:861]: Note: 1: 2729
MSI (c) (A8:B0) [10:18:06:861]: Note: 1: 2729
MSI (c) (A8:B0) [10:18:06:861]: Product: Mourant RTAS -- Installation failed.
MSI (c) (A8:B0) [10:18:06:861]: Attempting to delete file C:\DOCUME~1\cuttn\LOCALS~1\Temp\65226.mst
MSI (c) (A8:B0) [10:18:06:861]: MainEngineThread is returning 1624
=== Verbose logging stopped: 15/09/2005 10:18:06 ===
Posted by:
ancientcontra
19 years ago
Posted by:
ancientcontra
19 years ago
Posted by:
VikingLoki
19 years ago
Well, I wouldn't say "limited"... Your reference machine is too robust.
Your capturing & tailoring environment should be a MINIMUM configuration. For Tailoring, you want the lowest Windows Installer version you have out in the field to avoid the situation you were just in. You don't want your transform doing more than what your oldest Windows Installer version can handle. For capturing, the idea is to force the setup to do everything it can possibly need to do. So, no service packs and an absolute minimum of Windows Components and extra installed software to get the setup to work. Windows Installer is smart enough to determine if a service pack or already installed software makes particular parts of the install unnecessary. That way your capture will work whether things are there or not.
Your capturing & tailoring environment should be a MINIMUM configuration. For Tailoring, you want the lowest Windows Installer version you have out in the field to avoid the situation you were just in. You don't want your transform doing more than what your oldest Windows Installer version can handle. For capturing, the idea is to force the setup to do everything it can possibly need to do. So, no service packs and an absolute minimum of Windows Components and extra installed software to get the setup to work. Windows Installer is smart enough to determine if a service pack or already installed software makes particular parts of the install unnecessary. That way your capture will work whether things are there or not.
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.