How do you create a folder that begins with a period (.)?
Hi All,
I'm repackaging JInitiator 1.3.1.18 (I'm aware of the silent install switches but would rather deploy using Windows Installer). I need to automate the acceptance of a certificate thats used by the Java based application and also change the default location for the cached jar files. I run into problems because the JInitiator Control Panal applet automatically creates a text file that holds the necessary configuration parameters. If this file doesn't exist when either the Control Panel applet is run for the first time or the application itself is run for the first time then JInitiator will automatically create the file using default parameters. To counter act this, the configuration file (and also any certificates) need to already exist in a file called 'properties13118' which is held in C:\Documents and Settings\%UserName%\.jinit.
The problem occurs when the Windows Installer package is installed silently. I use a registry entry in the Active Setup hive to run msiexec /feus {package code} but it won't create the folder within the C:\Documents and Settings\%UserName%\ directory. On running validation on the package I receive an ICE03 error but can't fix the error because the period (.) stands for a "non-root source directory". How can I correct the ICE03 error and in turn prevent the default configuration file from being created?
Presently, I use the logon script to create the folder and copy the files.
Many thanks in advance for any suggestions.
I'm repackaging JInitiator 1.3.1.18 (I'm aware of the silent install switches but would rather deploy using Windows Installer). I need to automate the acceptance of a certificate thats used by the Java based application and also change the default location for the cached jar files. I run into problems because the JInitiator Control Panal applet automatically creates a text file that holds the necessary configuration parameters. If this file doesn't exist when either the Control Panel applet is run for the first time or the application itself is run for the first time then JInitiator will automatically create the file using default parameters. To counter act this, the configuration file (and also any certificates) need to already exist in a file called 'properties13118' which is held in C:\Documents and Settings\%UserName%\.jinit.
The problem occurs when the Windows Installer package is installed silently. I use a registry entry in the Active Setup hive to run msiexec /feus {package code} but it won't create the folder within the C:\Documents and Settings\%UserName%\ directory. On running validation on the package I receive an ICE03 error but can't fix the error because the period (.) stands for a "non-root source directory". How can I correct the ICE03 error and in turn prevent the default configuration file from being created?
Presently, I use the logon script to create the folder and copy the files.
Many thanks in advance for any suggestions.
0 Comments
[ + ] Show comments
Answers (13)
Please log in to answer
Posted by:
wynnem
7 years ago
Posted by:
Ilikebananas
18 years ago
Hi Dreamsurfer,
If I understand you correctly you want to create a folder that starts with a "."?
You can use a "set directory" (type 35) custom action. Use a different temporary name to add your folder to your package, and use the custom action to set the name of that directory to the value you want (you can of course use properties for that). Place it after costfinalize and you should be ready to go...
Ilikebananas
If I understand you correctly you want to create a folder that starts with a "."?
You can use a "set directory" (type 35) custom action. Use a different temporary name to add your folder to your package, and use the custom action to set the name of that directory to the value you want (you can of course use properties for that). Place it after costfinalize and you should be ready to go...
Ilikebananas
Posted by:
dreamsurfer141
18 years ago
Posted by:
dreamsurfer141
18 years ago
Hi Ilikebananas,
These are the steps I took:
1. Renamed the existing folder to jinit from .jinit
2. Created a Directory Custom Action (Type 35) named RenameDotJinitFolder. Configured Directory Name as _JINIT (automatically created by the repackager) and Directory Value as [RENAMEDOTJINITFOLDER]. Set the custom action to run after CostInitialize on the Install UI Sequence.
3. Created a Public Property in Property Manager called RENAMEDOTJINITFOLDER with the value of .jinit
When I run the package I receive Error 2707 http://itninja.com/question/help-with-msi-140637 can you help?
Thanks
These are the steps I took:
1. Renamed the existing folder to jinit from .jinit
2. Created a Directory Custom Action (Type 35) named RenameDotJinitFolder. Configured Directory Name as _JINIT (automatically created by the repackager) and Directory Value as [RENAMEDOTJINITFOLDER]. Set the custom action to run after CostInitialize on the Install UI Sequence.
3. Created a Public Property in Property Manager called RENAMEDOTJINITFOLDER with the value of .jinit
When I run the package I receive Error 2707 http://itninja.com/question/help-with-msi-140637 can you help?
Thanks
Posted by:
Ilikebananas
18 years ago
Hi dreamsurfer,
The action cannot be performed during costing, put it after costfinalinze.
Btw, if you put the action in the installuisequence it will only be performed during the user interface part of an installation. If you want the action to be performed during a silent installation, you should place it in the installexecutesequence.
Ilikebananas
The action cannot be performed during costing, put it after costfinalinze.
Btw, if you put the action in the installuisequence it will only be performed during the user interface part of an installation. If you want the action to be performed during a silent installation, you should place it in the installexecutesequence.
Ilikebananas
Posted by:
Ilikebananas
18 years ago
Hi fetgor,
If you use MD you would have to condition it to run during install/repair and you would have to copy the files into it aswell. You would also have to take extra actions to remove the folder/files.
If you use the custom action the folder and the files would still benefit from application resilliency and uninstall capabilities provided by windows installer. Thus making it cleaner and more manageable.
Ilikebananas
If you use MD you would have to condition it to run during install/repair and you would have to copy the files into it aswell. You would also have to take extra actions to remove the folder/files.
If you use the custom action the folder and the files would still benefit from application resilliency and uninstall capabilities provided by windows installer. Thus making it cleaner and more manageable.
Ilikebananas
Posted by:
fetgor
18 years ago
Posted by:
dreamsurfer141
18 years ago
Hi Ilikebananas,
Oops my mistake; configured custom action to run after CostFinalize on both Install UI Sequence and Install Exec Sequence. That fixed the 2707 error I was receiving but I now receive Error 1606 Could not access network location .jinit
Steps to try and fix:
- Fixed ICE03 Error: Invalid DefaultDir String
- Tried running package from a compressed non-network install
- Tried to replicate file structure on the network install by creating a .jinit folder containing relevant files
None of these fixed the error.
Hi Fetgor, what is MD?
Oops my mistake; configured custom action to run after CostFinalize on both Install UI Sequence and Install Exec Sequence. That fixed the 2707 error I was receiving but I now receive Error 1606 Could not access network location .jinit
Steps to try and fix:
- Fixed ICE03 Error: Invalid DefaultDir String
- Tried running package from a compressed non-network install
- Tried to replicate file structure on the network install by creating a .jinit folder containing relevant files
None of these fixed the error.
Hi Fetgor, what is MD?
Posted by:
Ilikebananas
18 years ago
Hi dreamsurfer,
There is probably something wrong with the new value of the directory, the folder doesn't get created and generates the (somewhat misleading) error. You can use the USERPROFILE variable in the following manner: [%USERPROFILE]\.jinit, to create the folder you want.
MD, you can use on the commandline to create a new folder.
Ilikebananas
There is probably something wrong with the new value of the directory, the folder doesn't get created and generates the (somewhat misleading) error. You can use the USERPROFILE variable in the following manner: [%USERPROFILE]\.jinit, to create the folder you want.
MD, you can use on the commandline to create a new folder.
Ilikebananas
Posted by:
dreamsurfer141
18 years ago
Hi Ilikebananas,
I've tried the following values for the RENAMEDOTJINITFOLDER property:
- .jinit
- [%USERPROFILE]\.jinit
- jinit
All give me the 1606 network error.
Some information after enabling logging and removing the Custom Action, if this helps (deployed through Group Policy):
The _JINIT folder property evaluates to C:\Documents and Settings\Default User\.jinit. When the package is repaired this property is not recalculated under the current log in details and replaces files in the Default User folder rather than the users current profile. Also, tried running the repair with the -v switch to recache the install but this doesn't recalculate the _JINIT value to be C:\Documents and Settings\%Username%\.jinit.
I've tried the following values for the RENAMEDOTJINITFOLDER property:
- .jinit
- [%USERPROFILE]\.jinit
- jinit
All give me the 1606 network error.
Some information after enabling logging and removing the Custom Action, if this helps (deployed through Group Policy):
The _JINIT folder property evaluates to C:\Documents and Settings\Default User\.jinit. When the package is repaired this property is not recalculated under the current log in details and replaces files in the Default User folder rather than the users current profile. Also, tried running the repair with the -v switch to recache the install but this doesn't recalculate the _JINIT value to be C:\Documents and Settings\%Username%\.jinit.
Posted by:
oreillyr
13 years ago
Posted by:
dreamsurfer141
13 years ago
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.