PackageMaker: Set Permissions on Applications Subdirectory
Hello everyone --
I'm new to the Apple package making process and running into some interesting issues. I developed a series of scripts wrapped into Automator applications which I want to deploy to a subdirectory of Applications (ex /Applications/Mypp/). I have each component Destination set to this path. One of the components in the package is itself an Automator application which performs some auxiliary functions. This auxiliary application is triggered to run after all components are deployed to the /Applications/MyApp directory via a Postinstall "Open File" action.
Issue: The package does everything I expect when deploying to Leopard systems either locally (double-click the pkg file and install manually) or remotely (via ARD). However, the package does NOT behave as expected when deploying to a Snow Leopard system. The specific issue is that the package is creating the subdirectory in Applications with unexpected ownership and permissions; ownership: [alternate local admin]:wheel, permissions 700. With these permissions, the auxiliary applications do not have permission to execute. The auxiliary apps and scripts are copied into the /Applications/MyApp subdirectory with the chmod permissions I set in PackageMaker.
I believe the way out of this debacle is to use a Preinstall script. I tried implementing a Preinstall script by writing a Bash script (named preflight, set chmod ug+x) containing the following:
#!/bin/bash
/bin/mkdir /Applications/MyApp
/bin/chmod 775 /Applications/MyApp
The script Destination is /private/tmp, is copied there successfully, but is not executing as expected.
I think that the solution to this problem is somewhere in the nuance of the Preinstall or preflight process, but I'm unable to figure this out.
I am using PackageMaker v3.0.3 on OS X Server 10.5.8 to build the package. Target systems are Snow Leopard 10.6.4.
Any clues? I know I've seen some people complaining about PackageMaker, but I refuse to give up and use a .dmg unless absolutely necessary.
mdecheser wrote:
I'm new to the Apple package making process and running into some interesting issues. I developed a series of scripts wrapped into Automator applications which I want to deploy to a subdirectory of Applications (ex /Applications/Mypp/). I have each component Destination set to this path.
Set the component destination to just /Applications and have MyApp as part of your component. Then it should honor whatever permissions you have set in your source.
Any clues? I know I've seen some people complaining about PackageMaker, but I refuse to give up and use a .dmg unless absolutely necessary.
I wouldn't consider that any admission of defeat. Apple itself has stopped recommending the use of Package Maker. http://developer.apple.com/mac/library/documentation/DeveloperTools/Conceptual/S oftwareDistribution/Overview/Overview.html
The nature and structure of your product determine the install experience you can provide to its
users. If your product is a self-contained application (one that doesn’t need to install components
at different locations in the file system), you can distribute it as a single file or folder. Users then
can drag the product from its container or delivery vehicle to a location of their choice in their file
systems. This type of installation process is called manual install. This is the preferred method of
delivering applications to Mac OS X users.
However, there are situations that require more complex products. For example, some applications
require the presence of shared resources such as frameworks or fonts, which, in general, reside at
/Library/Frameworks and /Library/Fonts, respectively. Each item that resides at a distinct location
on the file system is known as a component. To make it easy for users to install a multicomponent
product, instead of making users place each component in the appropriate location you develop an
appealing install that frees users from that tedious and error-prone task. To that end, the Installer
application (/Applications/Utilities) uses a simple interface to guide users through the process of
installing multicomponent products. This type of installation process is known as a managed
install.
You use PackageMaker (/Developer/Applications/Utilities) to develop a managed install.
Similar Messages
-
When setting up permissions for application files--URGENT
Hello All,
when setting up permissions for application files,
Is this following permisson appropriate?
If application files are owned by a single owner,
that owner should be the oracle user.
DNHere is my question again.
when setting up permission for application file, which permission is
appropriate?
a) If application files are owned by a sigle owner,that owner should be oracle
user.
b) Application files should be owned by oracle user
c) Application files should be owned by single user. -
Webserver - setting permissions for Custom Sites
Quick q on setting permissions for custom sites default. Default home for custom (non-default) web site is:
/Library/Server/Web/Data/Sites/
and whatever subdirectory you stipulate, e.g. MyServer - or whatever.
Server sets this as owner:
drwxrwxr-x 7 root admin 238 Mar 8 15:34 CustomSitesDefault
drwxrwxr-x 16 root admin 544 Mar 8 15:38 Default
For security, shouldn't the permissions and ownership be changed - to some webamin user WITHOUT root privs? Or will this break Lion Server? Thanks.Hello,
One option would be to disable the automatic Project Site Sync in the User Sync Settings Page, create custom permission levels and groups on your SharePoint Project site template(s) to meet your requirements - make use of default SharePoint groups where
possible, save the new template(s) and attach the new templates to the EPTs. Then develop a Project Server event handler that adds the users to the Project Site on the Publish event (or what ever event you like). The project owner one is simple - just add
the project owner to the new SharePoint group, project members - just read the project team and add those users and the visitors just add a domain AD group (Domain Users for example) to that group.
Default Project Server sync settings / site permissions can be seen here:
http://technet.microsoft.com/en-gb/library/cc197668(v=office.14).aspx
Paul
Paul Mather | Twitter |
http://pwmather.wordpress.com | CPS -
E71 - Midp 2.0,setting permissions impossible ?
I just received my Nokia E71, in App Manager i cant find the option to set permissions for J2ME Application.
Is it because of the old Midp 2.0 engine (in that case why is old Midp2.0 integrated instead of 2.1)or Nokia just forgot this menu ?
could it be possible to upgrade the midp in further fw versions ?
sheeps never prosper ...
Solved!
Go to Solution.hm, i have no clue then
here is how it looks on my device after opening app manager > browsing to opera mini > options:
Open
View details
Send
Go to web adress
Remove
View Log
Settings
Help
Exit
under settings i only find
Software Installation: signed only / all
Online Cert check on/off
Default Web Adress
but where is the menu for permissions ?
sheeps never prosper ... -
Get Read/Write permissions of application
Hi,
I am developing one application by using FileConnection API. My requirement is,
Whenever user launch the application, Application will get the properties of user read data/user write data permission. if they set the permission like "Always Ask" then application will close otherwise application will launch.
For this, how can i get read/write permissions of application?. Please help in this query.
Thanks & Regards
SivaHi ,
As the FileConnection API is restricted and need permission.
You have to set the FileConnection permission into the JAD file. Depends upon the mobile it might be possible that you have to signed the MIDlet.
Ashish Garg -
How to set permissions for folder?
Dear all,
How can iset permissions for a particular folder?
I am creating new folders for new users who access the program.
Is there any way yo set permissions so that no one is able to edit the name of the folder ?
Thanks,
RiteshHi Ritesh,
Thanks for the post and I hope your well today.
You can programmatically change the Read Only and Hidden Status of a file
in labview using the DOS prompt from LabVIEW - called
System.Execvi.
Here are some links regarding the DOS commands you can use,
http://www.ss64.com/nt/subinacl.html
http://www.ss64.com/nt/cacls.html
So I beleive you could find a DOS command which could alter the editting properties of the name..
Another way to prevent the user altering the file would be to change
the user permission's in windows.. but it could affected the code and
most IT departments would not allow this.
Hope this helps,
Kind Regards
James Hillman
Applications Engineer 2008 to 2009 National Instruments UK & Ireland
Loughborough University UK - 2006 to 2011
Remember Kudos those who help! -
HOW TO: Set up your application server to run BC4J
How To set up your application server to run BC4J.
INTRODUCTION
A running BC4J application is actually the combination of:
* Your own application files
* BC4J runtime libraries
In order to successfully run your BC4J application in local mode, the first requirement is
that your application server contains the necessary BC4J libraries.
This How To describes the steps required to ensure that you have a functional
BC4J runtime environment installed on your application server.
Oracle IAS 1.0.2 and Tomcat 3.1 will be used as examples.
THE BC4J RUNTIME LIBRARIES
Whatever application server you deploy to, the following libraries
are required in the following order to be in the classpath.
BC4J Libraries:
xmlparserv2.jar
jdev-rt.zip
jbojdbcpatch.zip
connectionmanager.zip
jbohtml.zip
jboimdomains.zip
ordim817.zip
ordvir817.zip
ordhttp.zip
jbomt.zip
jbodomorcl.zip
jboremote.zip
jndi.jar
jbodatum12.zip
These libraries can be found in <JDEV_HOME>/lib/
INSTALLING THE LIBRARIES ON IAS:
Installing the libraries is simply a matter of copying them to the
application server's filesystem and adding them to the classpath.
IAS's classpath can be modified by editing the file:
<IAS_HOME>\Apache\Jserv\conf\jserv.properties
In this file you'll find the existing pre-installed BC4J libraries which
looks like this:
wrapper.classpath=<IAS_HOME>\Apache\BC4J\lib\ordvir817.zip
wrapper.classpath=<IAS_HOME>\Apache\BC4J\lib\ordim817.zip
etc.
Note! These BC4J libraries correspond to JDeveloper 3.1.1.
In order to run JDev 3.2 based applications you will have to update these libraries
to JDeveloper 3.2 production.
Steps:
1. Copy (or FTP) the JDev 3.2 BC4J libraries from <JDEV_HOME>\lib to a NEW directory on the
appserver's filesystem called:
<IAS_HOME>\Apache\BC4J\newlib
2. Modify the classpath by editing <IAS_HOME>\Apache\Jserv\conf\jserv.properties.
Example: (modified classpath entries)
# New 3.2 BC4J Runtime libraries
wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\xmlparserv2.jar
wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\jdev-rt.zip
wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\jbojdbcpatch.zip
wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\connectionmanager.zip
wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\jbohtml.zip
wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\jboimdomains.zip
wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\ordim817.zip
wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\ordvir817.zip
wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\ordhttp.zip
wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\jbomt.zip
wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\jbodomorcl.zip
wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\jboremote.zip
wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\jndi.jar
wrapper.classpath=<IAS_HOME>\Apache\BC4J\newlib\jbodatum12.zip
Note: Make sure to remove or comment out the existing 3.1.1 BC4J library entries!
To see the changes, you must restart IAS and that's it, your IAS will be updated with
the JDev 3.2 BC4J libraries which allow you to run BC4J Data Tags among other
things!
INSTALLING THE LIBRARIES ON TOMCAT
As before, this process involves both the copying of the libraries
and modifying the classpath.
After copying the BC4J libraries to a path accessible from Tomcat,
you can modify Tomcat's classpath by editing it's startup script:
<TOMCAT_HOME>\bin\tomcat.bat (NT)
<TOMCAT_HOME>\bin\tomcat.sh (Unix)
Here is a portion of a modified tomcat.bat (on NT)
rem Add BC4J libraries
set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\xmlparserv2.jar
set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\jdev-rt.zip
set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\jbojdbcpatch.zip
set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\connectionmanager.zip
set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\jbohtml.zip
set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\jboimdomains.zip
set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\or dim817.zip
set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\ordvir817.zip
set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\ordhttp.zip
set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\jbomt.zip
set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\jbodomorcl.zip
set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\jboremote.zip
set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\jndi.jar
set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\jbodatum12.zip
rem Add Oracle JDBC library
set CLASSPATH=%CLASSPATH%;D:\bc4j_lib\classes12.zip
Note: I also added the Oracle JDBC library since Tomcat does not have it.
It is found at:
<JDEV_HOME>\jdbc\lib\oracle8.1.7\classes12.zip
And That's It!
When Tomcat is restarted using this script, the necessary BC4J libraries
will be in the classpath..
A follow up How To:"How To Deploy a BC4J JSP Application on IAS and Tomcat"
will be posted shortly!I copied the following files in jserv classpath
bc4jct.jar
bc4jctejb.jar
bc4jdomorcl.jar
bc4jhtml.jar
bc4jimdomains.jar
bc4jmt.jar
bc4jmtejb.jar
bc4juixtags.jar
collections.jar
datatags.jar
jdev-cm.jar
regexp.jar
share.jar
uix2.jar
cabo.war
classes12.jar
nls_charset12.jar
ordim.jar
ordhttp.jar
runtime12.jar
jdev-rt.jar
xmlparserv2.jar
bc4j_jclient_common.jar
webapp.war
I got this list from Jdev 9031 on-line help
I also copied the new DataTags.tld file to /webapp directory
When i run my jsp page i get this error..
java.lang.NoClassDefFoundError: java/util/TimerTask
at oracle.jbo.http.HttpContainer.findSessionCookie(HttpContainer.java:693)
at oracle.jbo.html.jsp.datatags.ApplicationModuleTag.doStartTag(ApplicationModuleTag.java:148)
at jspapp.odrjsp__html._menu._jspService(Compiled Code)
at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119)
at oracle.jsp.app.JspApplication.dispatchRequest(Compiled Code)
at oracle.jsp.JspServlet.doDispatch(Compiled Code)
at oracle.jsp.JspServlet.internalService(Compiled Code)
at oracle.jsp.JspServlet.service(Compiled Code)
at javax.servlet.http.HttpServlet.service(Compiled Code)
at oracle.portal.provider.v1.http.JspRenderer.renderBody(JspRenderer.java:116)
at oracle.portal.provider.v1.RenderManager.render(RenderManager.java:164)
at oracle.portal.provider.v1.http.ServletProviderResponse.showPortlet(Compiled Code)
at oracle.portal.provider.v1.http.HttpProvider.dispatchProviderAction(Compiled Code)
at oracle.portal.provider.v1.http.HttpProvider.service(Compiled Code)
at javax.servlet.http.HttpServlet.service(Compiled Code)
at org.apache.jserv.JServConnection.processRequest(Compiled Code)
at org.apache.jserv.JServConnection.run(Compiled Code)
at java.lang.Thread.run(Compiled Code)
In the JDK 1.3 APi docs, i found that TimerTask was introduced only in JDK 1.3
Does this mean that BC4J (in jdev 9031) will only work
with JDK 1.3 or later?
Thanks for your time.
Harish -
Hi,
On installing Oracle 9.2 on RedHat Linux release 4, I encounterd the
following error:
Error in setting permissions on file/directory
$ORACLE_BASE/jre/1.1.8/LICENSE
This error is encountered at the inital stage of installation after inputing all the
required settings in the OUI. and at the Installing Java Runtinme Environment 1.1.8.1.0
Could someone tell me why it happened and how to fix it? Your help is
much appreciated.
There was a post on this topic only in here and said to change the permissions of the
ORACLE_BASE .......... I have tried out all these and all the permissions and the environment settings are correct but i'm not able to proceed with the installation even after a lot of trying.
All you guys help is verry verry appreciated..........
Thanks,Do the following and post the results:
cd $ORACLE_BASE
pwd
ls -al
cd jre
pwd
ls -al
cd 1.18
pwd
ls -alI can't imagine anyone making recommendations without seeing what you've done. -
Error in setting permissions of file/directory
This is the error I am getting
Error in setting permissions of file/directory /u01/app/oracle/jre/1.1.8/bin/i686/native_threads/.extract_args
I am running RedHat 9 and obviously installing 9.2.0.
Any ideas on why I might be getting this. I have set permissions for the oracle user for this directory.
Thanks
Davefrom root try this command
umask
umask must set at 0022 ... if your server not set at this number use this command
umask 0022 -
Error in setting permissions of file/directory /home/oracle/jre/1.1.8/LICENSE ! Installation problem of 9i databse on redhat 7.3!!I installed sun jdk 1.3 or jdk 1.1.8_v3 and created a link for /usr/local/java !
from root try this command
umask
umask must set at 0022 ... if your server not set at this number use this command
umask 0022 -
How to set permissions IN Open Directory USING Open Directory groups?
Hi all,
Apologies if I've missed this but have been searching for two days trying to figure out how to delegate permissions within the OD to a number of different OD groups and i can't seem to find any way to do this either at the command line or with WGM.
Examples: an OD group containing those who will manage the full directory need to have permissions on all containers, child objects, and their attributes in the directory. For this one in particular I seem to be able to nest a group in the default Admin group, but this isn't really what i'm after. I need to create OD groups with the ability only to manipulate objects of class apple-computer and similarly, apple-user (really all inetOrgPerson objects). In a nutshell: how do i set permissions on specific attributes or object classes using OD groups?
thanks for any pointers...
-andrewI think i just answered my own question: Open Directory is OpenLDAP. slapd is all i need.
-
Please Help, I deleted an account that was the same name as the administrator but was not the administrator. Also a samsung galaxy s phone was charging through the usb port.
I closed out a program and got a message that the temp file could not be stored/saved.
Then a Kernel panic message occurred and restart was necessary.
The restart resulted in the screen with the apple logo and a continous swirl for 6+hrs,
Attempted Safe Mode start up, unsuccessful,
Single User Mode-sucess.
Ran $ fsck_hfs -rfd /dev/disk0s2 Ran several times repairs made with one which remained. something about a node.
No change in start up attempts
Started with install CD matching current OS 10.6
Ran Disk Utility Repair Permissions resulting in multiple errors:
One line/error
Warning: SUID file /////Ardagent has been modified and will not be repaired
144 lines/errors of this type of series of lines
Group permissions differ on...should be drwxr-xr-x, they are -rw-r--r-- .
permissions differ on...should be drwxr-xr-x, they are -rw-r--r-- .
unable to set owner and group...error 22: Invalid Argument
unable to set permissions on...error 22: Invalid Argument
Ran Repair Disk, result:
Error: Could not unmount disk (in red)
Ran Verify Disk, result:
The volume HD appears to be ok (in green)
Next I attempted to erase the dist to start from scratch since I have data backed up on time machine.
Error message box
Volume Erase failed
Volume Erase failed with error:
Could not unmount disk
I am looking to solve without buying DiskWarrior unless only resort.So it looks like solved it for now I will update later. What I did was after starting from the install cd for the 10.6 system I ran from terminal ran:
diskutil disablejournaling /dev/disk0s2
diskutil disableownership /dev/disk0s2
diskutil repairPermissions /dev/disk0s2
then i closed terminal and then when to disk utility and chose to repair disk with results all was fine. Then ran repair permissions and got similar results from terminal function next I erased disk and then chose to restore from time machine and it is now restoring! yea! -
Can I set permissions in DW 5?
Trust me, it's NOT that I want to get into this. But here's what happened:
My first Wordpress blog hosted on Dreamhost worked perfectly when hosted through a domain. I downloaded all the files onto my computer through DW 5, uploaded them again, everything was great. But THEN, I started the SECOND WP blog and hosted it on a Dreamhost subdomain. Everything suddenly fell apart. All of the files downloaded to DW, but nothing could be uploaded (through Put.) I just kept getting ""An FTP error occurred. Cannot open server folder ourblog.greenhillslawnandgarden.com. Access denied. The file may not exist, or there could be a permission problem."
Also, nothing could be uploaded to the WP site for the blog hosted through the subdomain. So the advice on the WP forums is to set new file permissions for the subdomain blog files, and that will fix everything (supposedly.) "
FTP programs ("clients") allow you to set permissions for files and directories on your remote host. This function is often called chmod or set permissions in the program menu. " (That's what they say, anyway.)
Apparently, setting permissions is easy to do with Filezilla. But do I REALLY have to learn yet another program?? Can't this be done through DW 5? It just seems hard to believe that there isn't a way. Does anyone know???I really appreciate the answer, but... it doesn't work. And that actually is a good example of the entire problem. When I try to switch to Remote View in the Files Panel, all I get is the same message that says:
""An FTP error occurred. Cannot open server folder ourblog.greenhillslawnandgarden.com. Access denied. The file may not exist, or there could be a permission problem."
So there's no way to even get to a view where I *could* set permissions. Is there any way out of this mess?? -
Unable to set permissions in KM Content
Hi all,
I got the following problem:
I'm working with an EP 6.0 SP 2.
Before the LDAP for the Portal was installed I've been creating some users from inside the Portal, with these users I was able to set permissions in the KM with no problems.
Now that the LDAP is installed, all the users I created from inside the Portal have been removed and created again in the LDAP. Now I cannot set permissions anymore in the KM. When I go to 'details > permissions' I just see the permissions already there (the Everybody group and the com.sap.....KMContentManager) but I cannot add, delete or save permissions.
What is the problem? Can be that any role is missing for my user in the LDAP? Can be that the fact that I deleted the previous user which I set the permissions the first time have caused any problem?
Could anybody help please?
Thanks very much in advanced and regards
StellaHi Anja,
First sorry for the delay of my answer.
The link you've attached has shown me 2 things:
1st - I have not assigned the service ACL, but checking in another Portal of my other project I see that it's also not assigned, so it shouldn't be necessary.
2nd - What I've also seen is that these system groups have to be created in User Management, and just checked with the UM Team that they are not
So I'm pretty sure the error has to be due to this.
I'll keep you informed if the error gets solved by this and of course thank with points.
Many many thanks
Stella -
How to set the WebDynpro application title (IE windows title)?
Hello all,
I would like to set the WebDynpro application title according to the current transaction ID. This title is the IE windows title that is shown on the upper left-corner of the IE browser.
Rule: [Object Instance Information] u2013 [Application Title] u2013 [Browser Title]
For example: Trans. <No.> - <My App> - Windows Internet Explorer
I would like to set <No.> dynamically on run-time according to my current transaction number.
I have this piece of code that gets a reference to the application info:
data: lr_app_info TYPE REF TO if_wdr_rr_application.
lr_app_info ?= wdr_task=>application->application_info.
And there is lr_app_info->get_description() method to have the description of the application, but there is no set method.
The application description can be hardcoded in:
tx. SE80, opening the WebDynpro component, then accessing its WebDynpro application. In the properties tab, there is a description field. I need to append transaction ID to it.
Do you know any way to implement this? This issue is for WebDynpro ABAP.
Best regards and thanks in advance,
Fouad.Hello Satra,
Thanks for your reply. I already had a look into that thread, but my question is not related to the windows title of the WebDynpro component.
My question is related to the title of the Internet Explorer that we all see on the top left-corner. For WebDynpro , this is the WebDynpro application title. How can we change it?
I hope my question is clear now, and I wish someone can help me soon.
With kind regards,
Fouad.
Maybe you are looking for
-
InDesign CS4 application moving to front
Is it possible to stop InDesign CS4 application from moving to the front after saving or opening finishes. After I close a file while saving changes, I move to another application to begin work, such as typing, then InDesign snaps forward interupting
-
Missing icon on task bar of executable powerbuilder
I have a very strange issue.... This occurs when I execute our software application that has been build with powergen( powerbuilder). When I execute the executable( acct123.exe) that was built, some of the icons that we created and use ( on a task
-
i have a dsl modem hooked up to a netgear wireless router wgu-624 in one part of my house and have a linksys wrt-54g setup in another part of my house and i need to get internet wirelessly to a computer that is wired to the wrt-54g can anybody help
-
Bulk uploading of excise entries in J1ID
Dear Pal I have around 40 line items having chapter id and description. I want to upload in to my production land scape in one cut and paste operation. Is it possible? what is the step\? thanks v balajee
-
Changing Thumbnails and Color after re-opening LR
Why does LR change each visible thumbnail along the bottom of the screen after, importing, then again after reopening of the program. Color Temp is set to "As Shot" but yet LR makes it a much cooler image thus changing the colors. Has anyone else exp