This code is to be placed in install() method of the logic. It will register ".css" extension with text/css mime type and will assosiate program, returned by getExecutable() as the non-default viewer and will add this program to the "open-with" list in the right-click menu:
if (SystemUtils.isWindows()) {
WindowsNativeUtils utils = (WindowsNativeUtils) SystemUtils.getNativeUtils();
SystemApplication app = new SystemApplication(new File(installLocation, getExecutable()));
app.setFriendlyName(getSystemDisplayName());
app.setOpenWithList(true);
app.setByDefault(false);
FileExtension ext = new FileExtension("css");
ext.setPerceivedType(PerceivedType.TEXT);
ext.setMimeType("text/css");
try {
utils.setFileAssociation(ext, app, getProduct().getProperties());
}
} catch (NativeException e) {
LogManager.log(e);
}
}
if (SystemUtils.isWindows()) {
WindowsNativeUtils utils = (WindowsNativeUtils) SystemUtils.getNativeUtils();
SystemApplication app = new SystemApplication(new File(installLocation, getExecutable()));
app.setFriendlyName(getSystemDisplayName());
app.setOpenWithList(true);
app.setByDefault(false);
FileExtension ext = new FileExtension("css");
ext.setPerceivedType(PerceivedType.TEXT);
ext.setMimeType("text/css");
try {
utils.removeFileAssociation(ext, app, getProduct().getProperties());
}
} catch (NativeException e) {
LogManager.log(e);
}
}