To prepare our extension for bundling:
So for this we need to create folder in the file cabinet in our NetSuite this will be containing our extension files, including the Manifest.json.
For example : SuiteScript/Deploy_Extensions/<VendorName>/<ExtensionName>@<Version>/
- Click edit next to the extension folder you are including in the bundle.
2. In the Document Folder record, check the Available for SuiteBundles option.
3. Click Save button.
4. Repeat this for every extension you want to include in a SuiteApp.
To create an installation script file:
- In the NetSuite File Cabinet, browse to SuiteBundles/Bundle xxxxxx, where xxxxxx equals the Bundle ID of the SuiteCommerce Extension Management SuiteApp.
- Make a copy of the default ExtensionBundle.js file:
- Click Copy Files.
- Expand the Filters area.
- In the Copy To list, select a location in the File Cabinet to store your copy.
- Check the box next to ExtensionBundle.js.
- Click Copy.
- Rename your new file as needed. (Optional)To rename a file, navigate to its location and edit the file record.
- Edit your new installation script file to meet your needs (optional).The default script can handle most requirements. However, if you have custom needs or want to make special validations or operations in NetSuite records, you can edit the script to meet your needs.
To create an Installation Script record:
- Go to Customization > Scripting > Scripts > New.
- In the Script File field, click List.
- In the -All- list, scroll to select the location of your installation script (this is your copy of ExtensionBundle.js).
- Select your installation script from the list.
- Click Create Script Record.
- From the Select Script Type list, select Bundle Installation.
- In the new Script record, name your bundle and provide a description (optional).
- In the Scripts tab, confirm that the following script fields populated correctly.
- Before Install Function: beforeInstall
- After Install Function: afterInstall
- After Update Function: afterUpdate
- Before Uninstall Function: beforeUninstall
- Click Save.

To deploy your installation script:
- Name your script and provide an ID, beginning with underscore (_).
- Set the Status field to Released.Important Failure to set this field to Released results in a failed installation.
- Choose the Log Level to meet your needs.
- When you have finished, click Save.You are now ready to create your SuiteApp.

Create the SuiteApp for Your Extensions.
After you have successfully created and deployed your installation script, you are ready to build your SuiteApp.
- When choosing the installation script, select the script you created earlier.
- You cannot use the same Installation Script record across multiple SuiteApps when bundling Commerce extensions. You must select a unique Installation Script record for each SuiteApp.
- When prompted to select objects for the SuiteApp, browse to File Cabinet/Folders and choose the objects associated with each extension you are including in your SuiteApp.
- We can create extension SuiteApps as managed or unmanaged bundles.
- We can bundle any number of extensions within one SuiteApp.


So after these steps we need to give permissions to share and the accounts can access this bundle.


Now the Netsuite account which have the access can able to install it and use.