TweetFollow Us on Twitter

InstallAnywhere

Volume Number: 15 (1999)
Issue Number: 12
Column Tag: Tools of the Trade

InstallAnywhere

Contributing Editor, Andrew Downs

A Truly Multi-Platform Deployment Solution

This article is set-up to provide you with an introduction to InstallAnywhere and lead you on a tour of the product's main functionality. If you'd like to see the functionality in action as you read you can download fully functional trial versions of the product from the Zero G Software Web site at http://www.ZeroG.com. This article will focus on the new InstallAnywhere Enterprise Edition.

Installers are one of those vital tools that no one thinks about unless they don't work. Everyone has experience blind clicking "next" buttons, only finding out after the fact that something wasn't configured correctly or a file was placed in the wrong location. Fortunately for developers, today's native solutions make the process of building installers for platform-specific software easy and reliable.

Then Came Java[TM]...

The "Write Once, Run Anywhere[TM]" promise of the Java[TM] programming language has enticed many developers to adopt the technology, letting them write an application once and deploy it to a wide variety of end-users, regardless of which operating system they are running. In theory this is a very attractive proposition; in practice deploying software across multiple platforms is a highly complex process. For example, simply running a Java application takes a high level of technological prowess. Unlike the ease of launching a native application, launching Java software is a multi-step process that involves setting system environment variables, and invoking (via a command-line interface) one of the many Java class files that comprise an application. To add a layer of complexity, Java software needs a Java virtual machine (VM) installed on the system that can execute the program.

Until recently, no way existed to build multi-platform deployment solutions that provide the ease-of-use and reliability of native installation tools. Older, legacy installation solutions are not up to the task. First of all, these installers are platform-native products and can only run on the platform for which they were built. Secondly, they are unable to adapt to the conventions of other operating systems. For example, Mac "aliases" are created in an entirely different manner then Windows "shortcuts".

A Multi-Platform Solution...

Enter the InstallAnywhere® family of products. InstallAnywhere from Zero G Software is a Java-based tool designed to address the challenges of deploying software across multiple platforms. InstallAnywhere provides developers the functionality they've come to expect in native solutions, the difference is that InstallAnywhere handles all the platform-specific details and allows developers to build a single, universal installer that can deploy software to any Java-enabled system from intranets, the Internet or CD-ROM. This includes Mac OS, Linux, Solaris, AIX, HP-UX, IRIX, OS/2 and Windows 95, 98 and NT.

Essentially what Zero G has done is taken the time to incorporate functionality into InstallAnywhere that addresses all the idiosyncrasies of deploying to "native" platforms, and provides developers with a powerful design environment for building customized deployment solutions. The benefit to developers is that they have a tool that allows them to tailor an installation to their needs, and they do not have to be expert in the platforms to which they are deploying. For example, if you want to deploy your Java application to a Unix-based system all that you need to do is click a button. InstallAnywhere deals with the rest of the platform specific details. Not only does this make it easy for Mac developers who want to deploy software to other, possibly unfamiliar, platforms, it also makes the process of deploying Java software to the Mac easy.

InstallAnywhere's support for the Mac is one of the key features that set it apart from other multi-platform deployment tools. Where InstallAnywhere is especially handy is building double-clickable application launchers. Similar to "native" launchers, InstallAnywhere creates what are called LaunchAnywhere[TM] executables that can be placed wherever the end-user chooses, such as on the desktop or in the applications folder. When creating LaunchAnywhere executables, LaunchAnywhere automatically locates the correct Java VM, configures all runtime options (including classpath) and starts the application, making Java software as easy to run as native software. Zero G has also recreated the Mac "look and feel" for both the InstallAnywhere design environment and for the installers that it builds. Mac software developers and end-users are assured a graphical environment that is familiar and easy to use.

Virtual Machine Flexibility

Another key feature of InstallAnywhere is its ability to include the installation of a Java VM with any installer. With the inclusion of a Java VM, InstallAnywhere eliminates the need to download and install a Java VM separately, enabling an end user to run the Java software they are installing with no added complications. InstallAnywhere is fully compatible with the most recent Java VM technology, including the Macintosh Runtime for Java (MRJ) 2.1, Sun's Java 2 (JDK 1.2) and Hot Spot', Microsoft's Java, IBM's Java VM, and Symantec's JIT, allowing developers to deploy their software for use with the latest Java VM releases.

Producing an Installer

InstallAnywhere provides developers with two interchangeable design environments, both utilizing a graphical interface for ease-of-use. The six-step Project Wizard is an easy way to start and allows users to set the basic parameters of the installer: naming, setting classpaths, finding main classes, picking which platforms to build installers for, etc. When you're ready to start adding advanced functionality you can easily switch to the Advanced Designer. Within the Advanced Designer, all of InstallAnywhere's advanced features are accessible and can be manipulated to fit the needs of each specific installer.

Walking through the six steps of the Project Wizard entails little user intervention. It includes six separate GUI panels, each with a descriptive title; brief instructions for general reference; and clearly defined buttons allowing for a return to any previously visited step.

The process begins with the "New Project" screen, whether you wish to build an installer under the Advanced Designer or the Project Wizard. This screen is where the designation of a new project takes place or where an existing project can be opened. If you choose to create a new project, you will be prompted to browse your system and designate a folder and name under which to save the project. Once this is complete, you can enter the Advanced Designer. However, you may also choose to proceed through the Wizard to the second step, the "Set Info" screen.

It is important to note that all information can be manipulated under both build environments, and is never set in stone until a build has been completed. Even after this point, a developer can re-open an "existing" project, make changes and rebuild it as many times as necessary. This comes in handy when a product requires small product updates or changes in files, which can be handled quickly without starting from scratch.

The "Set Info" screen is where you add information about the project. You can specify such information as the name of the product, the name of the installer, the name of the installer folder and an application name. For added convenience, InstallAnywhere automatically fills-in these fields with the project's name, as noted in the first step.

Next in the process is the "Add Files" step, where all the necessary files and folders that your project requires are added into the installer. In order to support any type of Java application, InstallAnywhere has the power to install any type of file: Java class files, HTML files, shell scripts or batch files, even native shared libraries and executables. This step is further enhanced with browsing capabilities to help you find the folders on your hard drive, and a GUI that shows the hierarchy of files and folders (see Figure 1).


Figure 1. Adding files to the project in the Project Wizard.

One of the trickiest parts of running a Java application is knowing what Java class file to invoke (Java applications may consist of hundreds of individual class files). InstallAnywhere has solved the complexity of this issue by allowing you to automatically find the application's Main Classes in the "Choose Main" step. Alternatively you can type in the fully-qualified package name for your main() class (see Figure 2).

Although not required, you can also specify a custom icon to be associated with the application. These icons can be placed on desktops or in folders and via InstallAnywhere's LaunchAnywhere technology will serve as the double-clickable application launchers. Assigning custom icons for LaunchAnywhere executables are another way that InstallAnywhere helps make Java applications run in the same manner as traditional platform-native applications.


Figure 2. Selecting the main class.

The fourth step, "Set Classpath", is a timesaver for anyone that has tried to run a Java application but had trouble getting their CLASSPATH configured properly. This is illustrated in Figure 3.


Figure 3. Setting the classpath.

Clicking on the "Automatically Determine Classpath" button will notify InstallAnywhere to locate all files that need to be added to your application's classpath. (Notice the small, red "CP" icon that appears at the bottom of the folders. This icon indicates which files are in the classpath.) Like automatically detecting the main class, InstallAnywhere is unique in its ability to determine your application's classpath. The alternative, manually determining all folders and file archives that need to be on the classpath, is cumbersome and tremendously error-prone, especially if you are part of a larger software development team.

The first three items on the "Build Installer" screen (depicted in Figure 4) in both the Project Wizard and Advanced Designer mode are "Win32", "Mac OS", and "Unix." These represent the platforms for which InstallAnywhere will build double-clickable LaunchAnywhere executables. The final option, "Other Platforms", is a pure Java installer that can be invoked on any Java 1.1-compatible system. You can also decide whether you should build installers that have an embedded VM or not. Installers built without a VM are smaller and download faster than installers with an embedded VM. This size advantage comes at a price, however: in order to run the installer, the target platform needs to have a Java VM pre-installed. If you are unsure of whether your target audience has a VM already installed on their systems, you might consider building both installers, one with and one without a Java VM. One of the nice things about InstallAnywhere installers is that they can tell which platform they are deploying to and will let the end-user know if they need to install a VM or not. For example, the InstallAnywhere Web Install feature will automatically pick the best installer for the users' system or allow them to choose which installer they'd like to use. The options are easily outlined and can be chosen according to a developer's precise needs.


Figure 4. Platform installer options.

At this point you may choose to take one of two options: either complete the build for the chosen platforms or enter the Advanced Designer by clicking the "Advanced Mode" button.

Advanced Features

The Advanced Designer provides developers with the opportunity to create highly customized deployment solutions by utilizing features above and beyond those available in the Project Wizard. For example, installations can execute custom code, be designed to check disk space and require password or serial number validation. Additionally, InstallAnywhere allows you to tailor the look and feel of an installation to an application or company image using specialized graphics and text.

By offering such features, the InstallAnywhere family of products allows developers to build deployment solutions that fit their specific deployment needs. The InstallAnywhere family is made up of four distinct products that provide developers different levels of functionality. For example, InstallAnywhere Now! is a freeware product that provides a very quick and easy solution for simple deployments. The Express and Standard Editions provide increased functionality at competitive price points. The latest addition to the family, InstallAnywhere Enterprise Edition, provides developers the ultimate in customization options. At the heart of the Enterprise Edition is an Open Application Programming Interface (API) that allows you to "plug in" virtually any type of functionality. For the purposes of this tutorial we've decided to focus on the full capacity of the Advanced Designer found within the new InstallAnywhere Enterprise Edition.

Get Advanced

You may enter the Advanced Designer during any point of an installer's build using the "Advanced Mode" button found at the lower left hand corner of each Project Wizard screen. This gives you the option to create an installer entirely within the advanced mode. You may also find that it is easier to use the Project Wizard to walk you through the basic steps of an installer's build, and then use the Advanced Designer to update your installer with more advanced features. Once within the Advanced Designer, you will have access to make changes and rebuild your installer as many times as you feel necessary.

Upon entering the Advanced Designer, you will encounter the Quick Start dialog box. The content of this dialog provides you with step-by-step instructions for getting started with InstallAnywhere's Advanced Designer. After browsing its content, you can navigate the Advanced Designer by simply pressing any of the tabs found on the left hand-side. Unlike the Project Wizard, the feature panels of the Advanced Designer can be accessed in a random fashion. This user-friendly, easy-to-navigate GUI environment sets InstallAnywhere apart from other installation tools, which tend to operate linearly and are difficult to manage.


Figure 5. InstallAnywhere's Advanced Designer.

In this environment you can create an installer entirely outside of the Project Wizard. For this reason, the Advanced Designer contains many sections whose requested information fields are the same as those seen throughout the six steps of the Project Wizard. In this tutorial we will focus on the features that set the two environments apart.

Performing Advanced Actions

"Actions" provide functionality to installers built with InstallAnywhere. More specifically, they are events that occur during the execution of an installation. An example would be checking to see how much disk space is available; another might be the creation of custom user dialogs to request information. An action is set up under the "Files" tab either before or after the necessary program files have been added. The addition of an action is as easy as clicking on the "Add Action" button, selecting an action and setting the specific variables in the predetermined fields that appear, all while remaining under one user interface. InstallAnywhere provides pre-written actions for performing a variety of functions; in addition, you can create custom actions and plug them in via InstallAnywhere's Open API. Some of the provided actions include the ability to:

  • Ability to add "custom code actions" and user interface panels for performing virtually any function before, during or after an installation, such as making database queries or sending data to a server.
  • Search for existing applications or software components on the target system.
  • Add user interface dialogs to ask for application specific information.
  • Request and validate passwords or serial numbers to allow for custom installation behavior.
  • Extract archives from a variety of formats (zip, jar, StuffIt, MacBinary, etc.) during an installation, allowing for the preservation of resource forks in Mac OS files across platforms.
  • Retrieve Win32 Registry entries.
  • Define, query or set variables with the Variable Manager.
  • Display bug information to the console, retrieve Win32 Registry entries, and more...

Setting Rules

"Rules", which differ from actions, are true-false statements that govern the execution of specific actions, depending on the characteristics of the end user's system. The set of rules in InstallAnywhere allow a developer to: 1) check if a folder exists, 2) verify the platform of target systems, 3) check a user's chosen locale/language, and 4) perform comparisons between specific InstallAnywhere Variables. This combination of choices comes in handy when you wish to only run specific actions on target systems that match specific criteria.

For instance, you can choose to install particular folders if the files do not currently exist on an end user's hard drive. You can also include the addition of a license agreement and product information in Japanese for users who designate Japanese as the installation language, or alert an end user of files that will be replaced before installation resumes. For added ease, these rules are accessible under the "Files", "Bundle", "Install Sets", and "Install" tabs to eliminate a cumbersome hunt through the Advanced Designer.

Install Sets

Differentiating between installations of the same application, such as a client install verses a server install, or a typical verses minimal install, has become increasingly common in the software industry. The creation of both "bundles" and "install sets" with InstallAnywhere simplifies the process of creating these specialized installers, even for the least technically advanced developer. Folders may be gathered into groupings called bundles, and bundles are grouped together to form install sets. These separate install sets, in turn, install specific files and run specific actions depending on the end user's choice or a target system's characteristics.

Set Platform-Specific Details

Selecting a default position for any alias (shortcut) created at install time is necessary when the configuration of target systems varies greatly. Determining a set position for the alias on the Mac, a shortcut on Windows machines, and directory for UNIX users is InstallAnywhere's solution to this problem.

Installer Preferences

Several visually differentiating characteristics can be configured in the "Installer" section of the Advanced Designer. In addition to providing a visual representation of the main classpath settings and specifying rules for the install, this section lets you customize the most important parts of the look and feel of the entire installer. You can:

  • Choose to execute specific actions and rules during the Start-up, Pre-install or Post-install phases of the installation process.
  • Configure the parts of an installation that end users will see and have control over. This is especially important to developers unaware of the experience level of end users. The options allow you to include, exclude and configure:
    • Introductory text (unable to exclude this step)
    • License agreements
    • Important product information
  • The choice of a destination for files being installed
  • The choice of a destination for the aliases being installed
  • The choice of a Java Virtual Machine on which to run the installer
  • The ability to pick an install set (e.g. Typical, Minimal)
  • The ability to run the install (unable to exclude this step)
  • A message for display upon the completion of an install.
  • Visually adapt a product's image within an installer by adding billboards that display throughout an installation. You can adjust them to display during the installation of specific bundles of files, or have them automatically run for equal time. Add as many billboards as needed to fill the installation time, but remember that each billboard adds to the size of your installer (a crucial factor if you are trying to conserve space with a small installer).

Customer Satisfaction

InstallAnywhere's customers range from the largest commercial and enterprise software developers to the smallest of start-up companies. What they all share is a common desire to build deployment solutions that allow them to successfully install and configure their software on multiple-platforms. However, each company has unique deployment challenges and requirements.

Novafex Software Limited

With help from InstallAnywhere, graphic designers can manipulate the resolution of 3-dimensional graphics on virtually any operating system, using the latest version of Flamingo Optimizer from Novafex Software Limited. Flamingo Optimizer utilizes Java technology to reduce the polygon count of graphical images that are bound for insertion into Web sites of varied resolution requirements. Novafex chose to develop in Java in order to cater to a larger customer base that could run their software on various platforms. Java was also used to speed up the development process and provide customers with a feature rich user interface in which to work. However, Novafex found that distributing Flamingo Optimizer via other multi-platform installation tools had its downside.

Using other multi-platform installation tools to deploy the first beta trials of Flamingo Optimizer, Novafex noticed that problems arose that these tools could not resolve. After dealing with three beta versions and several installation-related support calls, Novafex discovered InstallAnywhere and decided to give it a try. Within two days of the initial trial download, Senior Software Designer Jon-David Lacey was so convinced of its capabilities and performance that he purchased the product and forever changed the distribution process of Flamingo Optimizer.

"We were very impressed by how easy it was to put a distribution together," commented Lacey. "It was also apparent that the product was well thought out from a feature standpoint. I was able to customize LaunchAnywhere files executed during an install, specify particular Java Virtual Machine requirements, and bundle installed information all within an intuitive user interface."

Sun Microsystems, Inc.

As founders and leaders in the production of the Java programming language, Sun Microsystems, Inc. faces daily the challenge of managing and maintaining the distribution of Java technology to developers worldwide. One of the products which Sun deploys with InstallAnywhere is the Java Foundation Classes (JFC), also known as Swing.

The JFC is a comprehensive set of classes arming developers with Java technology tailored to add advanced user interfaces (GUIs) to Java-based software. To make it easier to understand and implement the class files, Swing is distributed with demonstrations of the GUI technology.

Although Sun maintains the ability to build an installer on their own, they've chosen to use a Java-based installation tool like InstallAnywhere because of the functionality and flexibility that it provides. More specifically, Sun needed a solution that would allow users on any Java technology-enabled platform to install the product. Using InstallAnywhere has ensured that Sun can deploy the JFC to software developers around the world. To date over 500,000 copies of the Java Foundation Classes have been downloaded.

Conclusion

In today's global computing environments "write once, run anywhere" has never been a more profound statement. As computing environments continue to add operating systems and computing devices, application deployment solutions need to be flexible enough to meet the demands of these diverse environments and smart enough to understand the global systems on which they are deployed. This tutorial has highlighted some of the ways in which InstallAnywhere is addressing the complexity of multi-platform deployment. To further explore the products, fully functional trial versions of all editions are available from the Zero G Software Web site at: <http://www.ZeroG.com>.


Andrew Downs blah blah

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

Capto 1.2.9 - $29.99
Capto (was Voila) is an easy-to-use app that takes capturing, recording, video and image editing to the next level. With an intelligent file manager and quick sharing options, Capto is perfect for... Read more
Opera 51.0.2830.40 - High-performance We...
Opera is a fast and secure browser trusted by millions of users. With the intuitive interface, Speed Dial and visual bookmarks for organizing favorite sites, news feature with fresh, relevant content... Read more
GarageSale 7.0.13 - Create outstanding e...
GarageSale is a slick, full-featured client application for the eBay online auction system. Create and manage your auctions with ease. With GarageSale, you can create, edit, track, and manage... Read more
1Password 6.8.7 - Powerful password mana...
1Password is a password manager that uniquely brings you both security and convenience. It is the only program that provides anti-phishing protection and goes beyond password management by adding Web... Read more
Evernote 7.0.1 - Create searchable notes...
Evernote allows you to easily capture information in any environment using whatever device or platform you find most convenient, and makes this information accessible and searchable at anytime, from... Read more
MacUpdate Desktop 6.2.0 - $20.00
MacUpdate Desktop brings seamless 1-click app installs and version updates to your Mac. With a free MacUpdate account and MacUpdate Desktop 6, Mac users can now install almost any Mac app on... Read more
HoudahSpot 4.3.5 - Advanced file-search...
HoudahSpot is a versatile desktop search tool. Use HoudahSpot to locate hard-to-find files and keep frequently used files within reach. HoudahSpot will immediately feel familiar. It works just the... Read more
EtreCheck 4.0.4 - For troubleshooting yo...
EtreCheck is an app that displays the important details of your system configuration and allow you to copy that information to the Clipboard. It is meant to be used with Apple Support Communities to... Read more
WhatsApp 0.2.8361 - Desktop client for W...
WhatsApp is the desktop client for WhatsApp Messenger, a cross-platform mobile messaging app which allows you to exchange messages without having to pay for SMS. WhatsApp Messenger is available for... Read more
iClock 4.2 - Customize your menubar cloc...
iClock is a menu-bar replacement for Apple's default clock but with 100x features. Have your Apple or Google calendar in the menubar. Have the day, date, and time in different fonts and colors in the... Read more

Latest Forum Discussions

See All

Alto's Odyssey Guide - How to Tackl...
Alto’s Odyssey is a completely stunning and serene runner, but it can also be a bit tricky. Check out these to try and keep your cool while playing this endless runner: Don’t focus too much on tasks [Read more] | Read more »
Here's everything you need to know...
Alto's Odyssey is a really, really good game. If you don't believe me, you should definitely check out our review by clicking this link right here. It takes the ideas from the original Alto's Adventure, then subtly builds on them, creating... | Read more »
Alto's Odyssey (Games)
Alto's Odyssey 1.0.1 Device: iOS Universal Category: Games Price: $4.99, Version: 1.0.1 (iTunes) Description: Just beyond the horizon sits a majestic desert, vast and unexplored. Join Alto and his friends and set off on an endless... | Read more »
Vainglory 5v5: Everything you need to kn...
Vainglory just got bigger. [Read more] | Read more »
Check out these 5 games that are a lot l...
So you're in love with Minecraft, but you're looking for something else to play as well? You've come to the right place then, because this list is all about games that are a bit like Minecraft. Some of them, more than others. [Read more] | Read more »
Our top 5 characters from casual RPG Cre...
Creature Quest definitely lives up to its name with a host of collectible creatures based on fantasy tales and world mythologies. To celebrate Creature Quest’s first birthday, we’re going to lay out what we think are the five best characters in the... | Read more »
Around the Empire: What have you missed...
Did you know that Steel Media has a whole swathe of other sites dedicated to all aspects of mobile gaming? Sure you'll get the very best iPhone news, reviews, and opinions right here at 148Apps, but we don't want you missing out on a single piece... | Read more »
All the best games on sale for iPhone an...
Oh hi there, and welcome to our round-up of the best games that are currently on sale for iPhone and iPad. You thought I didn't see you there, did you, skulking behind the bushes? Trust me though, the bushes aren't where the best deals are. The... | Read more »
The Battle of Polytopia Guide - How to H...
A new update just released for The Battle of Polytopia (formerly Super Tribes), which introduces online multiplayer. For all the fans of Midjiwan’s lite take on Civilization, this is certainly welcome news, but playing online isn’t as easy and... | Read more »
The best games that came out for iPhone...
Another week, another bunch of new releases on the App Store, another update to our big list of new games. It's not a classic lineup this week, but there are some really good ones in the mix all the same. [Read more] | Read more »

Price Scanner via MacPrices.net

Amazon restocks MacBook Pros with models avai...
Amazon has restocked 15″ and 13″ Apple MacBook Pros with models on sale for up to $251 off MSRP. Shipping is free. Note that stock of some Macs may come and go (and some sell out quickly), so check... Read more
Lowest price of the year: 15″ 2.8GHz Apple Ma...
Amazon has the 2017 Space Gray 15″ 2.8GHz MacBook Pro on sale today for $251 off MSRP. Shipping is free: – 15″ 2.8GHz Touch Bar MacBook Pro Space Gray (MPTR2LL/A): $2148, $251 off MSRP Their price is... Read more
Apple restocks full line of Certified Refurbi...
Apple has restocked a full line of Apple Certified Refurbished 2017 13″ MacBook Pros for $200-$300 off MSRP. A standard Apple one-year warranty is included with each MacBook, and shipping is free.... Read more
Lowest sale price available for 13″ 1.8GHz Ma...
Focus Camera has the 2017 13″ 1.8GHz/128GB Apple MacBook Air on sale today for $829 including free shipping. Their price is $170 off MSRP, and it’s the lowest price available for a current 13″... Read more
21-inch 2.3GHz iMac on sale for $999, $100 of...
B&H Photo has the 2017 21″ 2.3GHz iMac (MMQA2LL/A) in stock and on sale for $999 including free shipping plus NY & NJ tax only. Their price is $100 off MSRP. Read more
Apple refurbished Mac minis in stock again st...
Apple has restocked Certified Refurbished Mac minis starting at $419. Apple’s one-year warranty is included with each mini, and shipping is free: – 1.4GHz Mac mini: $419 $80 off MSRP – 2.6GHz Mac... Read more
Tuesday MacBook Deals: $250 off 15″ 2.9GHz Ma...
Adorama has the Silver 15″ 2.9GHz Apple MacBook Pro on sale today for $250 off MSRP. Shipping is free, and Adorama charges sales tax for residents in NY & NJ only: – 15″ 2.9GHz Silver MacBook Pro... Read more
Save up to $350 with these Apple Certified Re...
Apple has a full line of Certified Refurbished iMacs available for up to $350 off original MSRP. Apple’s one-year warranty is standard, and shipping is free. The following models are available: – 27... Read more
B&H offers $200 discount on Silver 15″ Ma...
B&H Photo has Silver 15″ Apple MacBook Pros on sale for $200 off MSRP. Shipping is free, and B&H charges sales tax for NY & NJ residents only: – 15″ 2.8GHz Touch Bar MacBook Pro Silver (... Read more
12″ Apple iPad Pro Sale of the Year! Models u...
B&H Photo has 12″ #iPad Pros on sale for up to $150 off MSRP. Shipping is free, and B&H charges sales tax in NY & NJ only: – 12″ 64GB WiFi iPad Pro: $719 $80 off MSRP – 12″ 256GB WiFi... Read more

Jobs Board

*Apple* Retail - Multiple Positions - Apple,...
Job Description:SalesSpecialist - Retail Customer Service and SalesTransform Apple Store visitors into loyal Apple customers. When customers enter the store, Read more
Sr. Experience Designer, Today at *Apple* -...
# Sr. Experience Designer, Today at Apple Job Number: 56495251 Santa Clara Valley, California, United States Posted: 18-Jan-2018 Weekly Hours: 40.00 **Job Summary** Read more
*Apple* Technical Specialist - Apple, Inc. (...
…customers purchase our products, you're the one who helps them get more out of their new Apple technology. Your day in the Apple Store is filled with a range of Read more
*Apple* Retail - Multiple Positions - Apple,...
Job Description: Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, Read more
Strategist, *Apple* Media Products, Content...
# Strategist, Apple Media Products, Content and Marketing Job Number: 113399632 Santa Clara Valley, California, United States Posted: 20-Feb-2018 Weekly Hours: 40.00 Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.