wixgem 0.37.0 → 0.38.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/example/example.msi +0 -0
- data/example/example.msm +0 -0
- data/example/install_files/directory/file2.txt +1 -0
- data/example/install_files/file1.txt +1 -0
- data/lib/wixgem.rb +7 -2
- data/spec/COM_spec.rb +58 -61
- data/spec/WindowsInstaller.rb +16 -2
- data/spec/installation_spec.rb +2 -2
- data/spec/mergemodule_spec.rb +2 -0
- data/spec/multiple_product_installation_spec.rb +66 -66
- data/spec/test_files_exist.rb +34 -34
- data/spec/wixpath.rb +1 -1
- metadata +19 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 199cdfc908570d35b411d9508b2ad2224142de9a
|
4
|
+
data.tar.gz: dcc5ea6e1aadde2eafa23d3d547fa9b3e9a01f22
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7481a4a2d30f885efdcb9e6c891fa722171ffe16367dfcd185ab313092fc97974294c5aca4ee65d386cbbc9c2915944165fbb685ffaf47373e5b9cd059b4acc6
|
7
|
+
data.tar.gz: 2b2dbfbcadc32ee1623f2cbb277275890256d0dac7ea16903104b12aa676ba2117684f5d9ba883e24c7ba531528eb8953cd628f53512b5c6e4faf960f81c10f4
|
data/example/example.msi
ADDED
Binary file
|
data/example/example.msm
ADDED
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
Hello World
|
@@ -0,0 +1 @@
|
|
1
|
+
Hello World
|
data/lib/wixgem.rb
CHANGED
@@ -87,12 +87,17 @@ class Wix
|
|
87
87
|
product[0].add_element 'CustomAction', { 'Id' => 'SetTARGETDIR', 'Property' => 'TARGETDIR', 'Value' => "#{install_path}", 'Execute' => 'firstSequence', 'Return' => 'check'}
|
88
88
|
|
89
89
|
install_execute_sequence = product[0].add_element 'InstallExecuteSequence'
|
90
|
-
#custom_action = install_execute_sequence.add_element 'Custom', { 'Action' => 'SetTARGETDIR', 'Before'=>'CostFinalize' }
|
91
90
|
custom_action = install_execute_sequence.add_element 'Custom', { 'Action' => 'SetTARGETDIR', 'Before'=>'CostInitialize' }
|
92
91
|
|
92
|
+
install_ui_sequence = product[0].add_element 'InstallUISequence'
|
93
|
+
custom_action = install_ui_sequence.add_element 'Custom', { 'Action' => 'SetTARGETDIR', 'Before'=>'CostInitialize' }
|
94
|
+
|
93
95
|
admin_execute_sequence = product[0].add_element 'AdminExecuteSequence'
|
94
|
-
#custom_action = admin_execute_sequence.add_element 'Custom', { 'Action' => 'SetTARGETDIR', 'Before'=>'CostFinalize' }
|
95
96
|
custom_action = admin_execute_sequence.add_element 'Custom', { 'Action' => 'SetTARGETDIR', 'Before'=>'CostInitialize' }
|
97
|
+
|
98
|
+
admin_ui_sequence = product[0].add_element 'AdminUISequence'
|
99
|
+
custom_action = admin_ui_sequence.add_element 'Custom', { 'Action' => 'SetTARGETDIR', 'Before'=>'CostInitialize' }
|
100
|
+
|
96
101
|
return xml_doc
|
97
102
|
end
|
98
103
|
|
data/spec/COM_spec.rb
CHANGED
@@ -1,61 +1,58 @@
|
|
1
|
-
require 'rspec'
|
2
|
-
require './lib/wixgem.rb'
|
3
|
-
require './spec/wixpath.rb'
|
4
|
-
require './spec/WindowsInstaller.rb'
|
5
|
-
require './spec/test_files_exist.rb'
|
6
|
-
require 'win32ole'
|
7
|
-
require './admin.rb'
|
8
|
-
|
9
|
-
#
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
expect(object.
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|
1
|
+
require 'rspec'
|
2
|
+
require './lib/wixgem.rb'
|
3
|
+
require './spec/wixpath.rb'
|
4
|
+
require './spec/WindowsInstaller.rb'
|
5
|
+
require './spec/test_files_exist.rb'
|
6
|
+
require 'win32ole'
|
7
|
+
require './admin.rb'
|
8
|
+
|
9
|
+
# Don't understand why I cannot get this test to work
|
10
|
+
|
11
|
+
if(admin?)
|
12
|
+
describe 'Wixgem' do
|
13
|
+
describe 'Installation of a COM object' do
|
14
|
+
it 'should not be able to instance a COM object' do
|
15
|
+
expect { WIN32OLE.new('COMObject.ComClassExample') }.to raise_error
|
16
|
+
end
|
17
|
+
|
18
|
+
installation_file = 'test\\wixgem_com_test.msi'
|
19
|
+
File.delete(installation_file) if(File.exists?(installation_file))
|
20
|
+
WindowsInstaller.uninstall(installation_file) if(WindowsInstaller.installed?(installation_file))
|
21
|
+
|
22
|
+
installation_hash = { debug: true, all_users: 'perMachine', files: ['COMObject/bin/Release/COMObject.dll']}
|
23
|
+
it "should create an installation file using: #{installation_file}" do
|
24
|
+
Wixgem::Wix.make_installation(installation_file, installation_hash)
|
25
|
+
expect(File.exists?(installation_file)).to be(true)
|
26
|
+
end
|
27
|
+
|
28
|
+
# it 'should install' do
|
29
|
+
# WindowsInstaller.install(installation_file)
|
30
|
+
# expect(WindowsInstaller.installed?(installation_file)).to be(true)
|
31
|
+
# end
|
32
|
+
|
33
|
+
# it 'should have installed the COMObject.dll' do
|
34
|
+
# test_files_exist(installation_file, installation_hash)
|
35
|
+
# end
|
36
|
+
|
37
|
+
# it 'should be able to instance a COM object with a GUID' do
|
38
|
+
# object = WIN32OLE.new('{863AEADA-EE73-4f4a-ABC0-3FB384CB41AA}')
|
39
|
+
# expect(object.nil?).to eq(false)
|
40
|
+
# expect(object.GetText).to eq('Hello World')
|
41
|
+
# end
|
42
|
+
|
43
|
+
# it 'should be able to instance a COM object with a Program Id' do
|
44
|
+
# object = WIN32OLE.new('COMObject.ComClassExample')
|
45
|
+
# expect(object.nil?).to eq(false)
|
46
|
+
# expect(object.GetText).to eq('Hello World')
|
47
|
+
# end
|
48
|
+
|
49
|
+
it 'should uninstall' do
|
50
|
+
WindowsInstaller.uninstall(installation_file) if(WindowsInstaller.installed?(installation_file))
|
51
|
+
expect(WindowsInstaller.installed?(installation_file)).to be(false)
|
52
|
+
end
|
53
|
+
|
54
|
+
it 'should cleanup the generaged msi file' do
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
data/spec/WindowsInstaller.rb
CHANGED
@@ -2,16 +2,25 @@ require 'win32ole'
|
|
2
2
|
require 'dev_tasks'
|
3
3
|
|
4
4
|
class WindowsInstaller
|
5
|
-
def self.installed?(
|
5
|
+
def self.installed?(msi_product_code_or_product_name)
|
6
6
|
installer = WIN32OLE.new('WindowsInstaller.Installer')
|
7
|
+
|
8
|
+
value = msi_product_code_or_product_name
|
9
|
+
if(File.exists?(value))
|
10
|
+
records = msi_records(value)
|
11
|
+
value = records['ProductCode']
|
12
|
+
end
|
13
|
+
|
7
14
|
installer.Products.each { |prod_code|
|
8
15
|
name = installer.ProductInfo(prod_code, "ProductName")
|
9
|
-
return true if (
|
16
|
+
return true if (value == name)
|
17
|
+
return true if (value == prod_code)
|
10
18
|
}
|
11
19
|
return false
|
12
20
|
end
|
13
21
|
|
14
22
|
def self.install(msi)
|
23
|
+
msi = msi.gsub(/\//, '\\')
|
15
24
|
raise "#{msi} is already installed" if(WindowsInstaller.installed?(msi))
|
16
25
|
execute("msiexec.exe /i #{msi}")
|
17
26
|
end
|
@@ -19,6 +28,7 @@ class WindowsInstaller
|
|
19
28
|
def self.uninstall(msi_product_code_or_product_name)
|
20
29
|
value = msi_product_code_or_product_name
|
21
30
|
if(File.exists?(value))
|
31
|
+
value = value.gsub(/\//, '\\')
|
22
32
|
execute("msiexec.exe /quiet /x #{value}")
|
23
33
|
return
|
24
34
|
end
|
@@ -105,7 +115,9 @@ class WindowsInstaller
|
|
105
115
|
records[record.StringData(1)] = record.StringData(2)
|
106
116
|
record = view.Fetch()
|
107
117
|
end
|
118
|
+
db.ole_free
|
108
119
|
db = nil
|
120
|
+
installer.ole_free
|
109
121
|
installer = nil
|
110
122
|
|
111
123
|
return records
|
@@ -138,7 +150,9 @@ class WindowsInstaller
|
|
138
150
|
puts "#{record.StringData(1)}: #{record.StringData(2)}"
|
139
151
|
record = view.Fetch()
|
140
152
|
end
|
153
|
+
db.ole_free
|
141
154
|
db = nil
|
155
|
+
installer.ole_free
|
142
156
|
installer = nil
|
143
157
|
puts ''
|
144
158
|
end
|
data/spec/installation_spec.rb
CHANGED
@@ -20,6 +20,8 @@ describe 'Wixgem' do
|
|
20
20
|
}
|
21
21
|
|
22
22
|
test_arguments.each { |key, value|
|
23
|
+
File.delete(value[0]) if(File.exists?(value[0]))
|
24
|
+
|
23
25
|
it "should create an installation file using: #{value[0]}" do
|
24
26
|
Wixgem::Wix.make_installation(value[0], value[1])
|
25
27
|
expect(File.exists?(value[0])).to be(true)
|
@@ -31,8 +33,6 @@ describe 'Wixgem' do
|
|
31
33
|
test_install(key, value[0], value[1], execute)
|
32
34
|
end
|
33
35
|
}
|
34
|
-
|
35
|
-
test_arguments.each { |key, value| FileUtils.rm(value[0]) if(File.exists?(value[0])) }
|
36
36
|
end
|
37
37
|
|
38
38
|
describe 'Packaging excptions' do
|
data/spec/mergemodule_spec.rb
CHANGED
@@ -16,6 +16,8 @@ describe 'Wixgem' do
|
|
16
16
|
}
|
17
17
|
|
18
18
|
test_arguments.each { |key, value|
|
19
|
+
File.delete(value[0]) if(File.exists?(value[0]))
|
20
|
+
|
19
21
|
it "should create merge module: #{value[0]}" do
|
20
22
|
Wixgem::Wix.make_mergemodule(value[0], value[1])
|
21
23
|
raise "#{key}: #{value[0]} does not exist" unless(File.exists?(value[0]))
|
@@ -1,67 +1,67 @@
|
|
1
|
-
require 'rspec'
|
2
|
-
require './lib/wixgem.rb'
|
3
|
-
require './spec/wixpath.rb'
|
4
|
-
require './spec/WindowsInstaller.rb'
|
5
|
-
require './admin.rb'
|
6
|
-
|
7
|
-
if(admin?)
|
8
|
-
describe 'Wixgem' do
|
9
|
-
describe 'Side by side installations' do
|
10
|
-
product1='wixgem_multiple 1.0'
|
11
|
-
product2='wixgem_multiple 1.1'
|
12
|
-
|
13
|
-
Wixgem::Wix.make_installation("test/wixgem_multiple.1.0.0.msi", {version: '1.0.0.0', product_name: product1, upgrade_code: '{face46ab-74ce-44eb-a2b7-81a8cfad5bab}', files: ['Gemfile']})
|
14
|
-
Wixgem::Wix.make_installation("test/wixgem_multiple.1.1.0.msi", {version: '1.1.0.0', product_name: product2, upgrade_code: '{face46ab-74ce-44eb-a2b7-81a8cfad5bab}', files: ['rakefile.rb']})
|
15
|
-
|
16
|
-
it "should install version 1.0.0" do
|
17
|
-
WindowsInstaller.install('test\\wixgem_multiple.1.0.0.msi')
|
18
|
-
expect(WindowsInstaller.installed?(product1)).to be(true)
|
19
|
-
expect(WindowsInstaller.version(product1)).to eq('1.0.0.0')
|
20
|
-
end
|
21
|
-
|
22
|
-
it "should install version 1.1.0" do
|
23
|
-
WindowsInstaller.install('test\\wixgem_multiple.1.1.0.msi')
|
24
|
-
expect(WindowsInstaller.installed?(product2)).to be(true)
|
25
|
-
expect(WindowsInstaller.version(product2)).to eq('1.1.0.0')
|
26
|
-
end
|
27
|
-
|
28
|
-
it "version 1.0.0 should still be installed" do
|
29
|
-
expect(WindowsInstaller.installed?(product1)).to be(true)
|
30
|
-
end
|
31
|
-
|
32
|
-
it "product codes for version 1.0.0 and 1.0.0 should be different" do
|
33
|
-
expect(WindowsInstaller.product_code(product1)).not_to eq(WindowsInstaller.product_code(product2))
|
34
|
-
end
|
35
|
-
|
36
|
-
it "Should be able to uninstall both products" do
|
37
|
-
WindowsInstaller.uninstall(product1)
|
38
|
-
WindowsInstaller.uninstall(product2)
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
describe 'remove previous version' do
|
43
|
-
product1='wixgem_install 1.0'
|
44
|
-
product2='wixgem_install 1.1'
|
45
|
-
Wixgem::Wix.make_installation("test/wixgem_install.1.0.0.msi", {version: '1.0.0.0', product_name: product1, upgrade_code: '{face46ab-74ce-44eb-a2b7-81a8cfad5bab}', files: ['Gemfile']})
|
46
|
-
Wixgem::Wix.make_installation("test/wixgem_install.1.1.0.msi", {version: '1.1.0.0', product_name: product2, remove_existing_products: true, upgrade_code: '{face46ab-74ce-44eb-a2b7-81a8cfad5bab}', files: ['rakefile.rb']})
|
47
|
-
|
48
|
-
it "should install version 1.0.0" do
|
49
|
-
WindowsInstaller.install('test\\wixgem_install.1.0.0.msi')
|
50
|
-
expect(WindowsInstaller.installed?(product1)).to be(true)
|
51
|
-
end
|
52
|
-
|
53
|
-
it "should install version 1.1.0" do
|
54
|
-
WindowsInstaller.install('test\\wixgem_install.1.1.0.msi')
|
55
|
-
expect(WindowsInstaller.installed?(product2)).to be(true)
|
56
|
-
end
|
57
|
-
|
58
|
-
it "the version 1.0.0 should have been uninstalled" do
|
59
|
-
expect(WindowsInstaller.installed?(product1)).to be(false)
|
60
|
-
end
|
61
|
-
|
62
|
-
it "should be able to uninstall #{product2}" do
|
63
|
-
WindowsInstaller.uninstall(product2)
|
64
|
-
end
|
65
|
-
end
|
66
|
-
end
|
1
|
+
require 'rspec'
|
2
|
+
require './lib/wixgem.rb'
|
3
|
+
require './spec/wixpath.rb'
|
4
|
+
require './spec/WindowsInstaller.rb'
|
5
|
+
require './admin.rb'
|
6
|
+
|
7
|
+
if(admin?)
|
8
|
+
describe 'Wixgem' do
|
9
|
+
describe 'Side by side installations' do
|
10
|
+
product1='wixgem_multiple 1.0'
|
11
|
+
product2='wixgem_multiple 1.1'
|
12
|
+
|
13
|
+
Wixgem::Wix.make_installation("test/wixgem_multiple.1.0.0.msi", {version: '1.0.0.0', product_name: product1, upgrade_code: '{face46ab-74ce-44eb-a2b7-81a8cfad5bab}', files: ['Gemfile']})
|
14
|
+
Wixgem::Wix.make_installation("test/wixgem_multiple.1.1.0.msi", {version: '1.1.0.0', product_name: product2, upgrade_code: '{face46ab-74ce-44eb-a2b7-81a8cfad5bab}', files: ['rakefile.rb']})
|
15
|
+
|
16
|
+
it "should install version 1.0.0" do
|
17
|
+
WindowsInstaller.install('test\\wixgem_multiple.1.0.0.msi')
|
18
|
+
expect(WindowsInstaller.installed?(product1)).to be(true)
|
19
|
+
expect(WindowsInstaller.version(product1)).to eq('1.0.0.0')
|
20
|
+
end
|
21
|
+
|
22
|
+
it "should install version 1.1.0" do
|
23
|
+
WindowsInstaller.install('test\\wixgem_multiple.1.1.0.msi')
|
24
|
+
expect(WindowsInstaller.installed?(product2)).to be(true)
|
25
|
+
expect(WindowsInstaller.version(product2)).to eq('1.1.0.0')
|
26
|
+
end
|
27
|
+
|
28
|
+
it "version 1.0.0 should still be installed" do
|
29
|
+
expect(WindowsInstaller.installed?(product1)).to be(true)
|
30
|
+
end
|
31
|
+
|
32
|
+
it "product codes for version 1.0.0 and 1.0.0 should be different" do
|
33
|
+
expect(WindowsInstaller.product_code(product1)).not_to eq(WindowsInstaller.product_code(product2))
|
34
|
+
end
|
35
|
+
|
36
|
+
it "Should be able to uninstall both products" do
|
37
|
+
WindowsInstaller.uninstall(product1)
|
38
|
+
WindowsInstaller.uninstall(product2)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
describe 'remove previous version' do
|
43
|
+
product1='wixgem_install 1.0'
|
44
|
+
product2='wixgem_install 1.1'
|
45
|
+
Wixgem::Wix.make_installation("test/wixgem_install.1.0.0.msi", {version: '1.0.0.0', product_name: product1, upgrade_code: '{face46ab-74ce-44eb-a2b7-81a8cfad5bab}', files: ['Gemfile']})
|
46
|
+
Wixgem::Wix.make_installation("test/wixgem_install.1.1.0.msi", {version: '1.1.0.0', product_name: product2, remove_existing_products: true, upgrade_code: '{face46ab-74ce-44eb-a2b7-81a8cfad5bab}', files: ['rakefile.rb']})
|
47
|
+
|
48
|
+
it "should install version 1.0.0" do
|
49
|
+
WindowsInstaller.install('test\\wixgem_install.1.0.0.msi')
|
50
|
+
expect(WindowsInstaller.installed?(product1)).to be(true)
|
51
|
+
end
|
52
|
+
|
53
|
+
it "should install version 1.1.0" do
|
54
|
+
WindowsInstaller.install('test\\wixgem_install.1.1.0.msi')
|
55
|
+
expect(WindowsInstaller.installed?(product2)).to be(true)
|
56
|
+
end
|
57
|
+
|
58
|
+
it "the version 1.0.0 should have been uninstalled" do
|
59
|
+
expect(WindowsInstaller.installed?(product1)).to be(false)
|
60
|
+
end
|
61
|
+
|
62
|
+
it "should be able to uninstall #{product2}" do
|
63
|
+
WindowsInstaller.uninstall(product2)
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
67
|
end
|
data/spec/test_files_exist.rb
CHANGED
@@ -1,35 +1,35 @@
|
|
1
|
-
def files(data)
|
2
|
-
files = data
|
3
|
-
if(data.kind_of?(Hash))
|
4
|
-
files = data[:files]
|
5
|
-
|
6
|
-
if(data.has_key?(:modify_file_paths))
|
7
|
-
modify_paths = data[:modify_file_paths]
|
8
|
-
files.each_index do |index|
|
9
|
-
file_path = files[index]
|
10
|
-
modify_paths.each { |regex, replacement_string| file_path = file_path.gsub(regex, replacement_string) }
|
11
|
-
files[index] = file_path
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
return files
|
16
|
-
end
|
17
|
-
|
18
|
-
def test_files_exist(msi_file, data)
|
19
|
-
files = files(data)
|
20
|
-
|
21
|
-
product_name = File.basename(msi_file, File.extname(msi_file))
|
22
|
-
product_name = data[:product_name] if(data.kind_of?(Hash) && data.has_key?(:product_name))
|
23
|
-
|
24
|
-
manufacturer = ''
|
25
|
-
manufacturer = data[:manufacturer] if(data.kind_of?(Hash) && data.has_key?(:manufacturer))
|
26
|
-
|
27
|
-
relative_install_dir = product_name
|
28
|
-
raise "#{name}: relative_install_dir should be set to the product name" if(relative_install_dir.length == 0)
|
29
|
-
relative_install_dir = "#{manufacturer}/#{relative_install_dir}" if(manufacturer.length > 0)
|
30
|
-
|
31
|
-
files.each { |file|
|
32
|
-
full_path = "C:/Program Files (x86)/#{relative_install_dir}/#{file}"
|
33
|
-
raise "#{full_path} not installed." unless(File.exists?(full_path))
|
34
|
-
}
|
1
|
+
def files(data)
|
2
|
+
files = data
|
3
|
+
if(data.kind_of?(Hash))
|
4
|
+
files = data[:files]
|
5
|
+
|
6
|
+
if(data.has_key?(:modify_file_paths))
|
7
|
+
modify_paths = data[:modify_file_paths]
|
8
|
+
files.each_index do |index|
|
9
|
+
file_path = files[index]
|
10
|
+
modify_paths.each { |regex, replacement_string| file_path = file_path.gsub(regex, replacement_string) }
|
11
|
+
files[index] = file_path
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
return files
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_files_exist(msi_file, data)
|
19
|
+
files = files(data)
|
20
|
+
|
21
|
+
product_name = File.basename(msi_file, File.extname(msi_file))
|
22
|
+
product_name = data[:product_name] if(data.kind_of?(Hash) && data.has_key?(:product_name))
|
23
|
+
|
24
|
+
manufacturer = ''
|
25
|
+
manufacturer = data[:manufacturer] if(data.kind_of?(Hash) && data.has_key?(:manufacturer))
|
26
|
+
|
27
|
+
relative_install_dir = product_name
|
28
|
+
raise "#{name}: relative_install_dir should be set to the product name" if(relative_install_dir.length == 0)
|
29
|
+
relative_install_dir = "#{manufacturer}/#{relative_install_dir}" if(manufacturer.length > 0)
|
30
|
+
|
31
|
+
files.each { |file|
|
32
|
+
full_path = "C:/Program Files (x86)/#{relative_install_dir}/#{file}"
|
33
|
+
raise "#{full_path} not installed." unless(File.exists?(full_path))
|
34
|
+
}
|
35
35
|
end
|
data/spec/wixpath.rb
CHANGED
metadata
CHANGED
@@ -1,83 +1,83 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wixgem
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.38.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kevin Marshall
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-01-
|
11
|
+
date: 2015-01-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: dev
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - ~>
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - ~>
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: logging
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - ~>
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '0'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - ~>
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
description: Simple Ruby interface to facilitate creating and compiling windows installation
|
@@ -89,6 +89,10 @@ extra_rdoc_files: []
|
|
89
89
|
files:
|
90
90
|
- LICENSE
|
91
91
|
- README.md
|
92
|
+
- example/example.msi
|
93
|
+
- example/example.msm
|
94
|
+
- example/install_files/directory/file2.txt
|
95
|
+
- example/install_files/file1.txt
|
92
96
|
- example/rakefile.rb
|
93
97
|
- lib/command.rb
|
94
98
|
- lib/wixgem.rb
|
@@ -116,17 +120,17 @@ require_paths:
|
|
116
120
|
- lib
|
117
121
|
required_ruby_version: !ruby/object:Gem::Requirement
|
118
122
|
requirements:
|
119
|
-
- -
|
123
|
+
- - ">="
|
120
124
|
- !ruby/object:Gem::Version
|
121
125
|
version: 1.9.1
|
122
126
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
123
127
|
requirements:
|
124
|
-
- -
|
128
|
+
- - ">="
|
125
129
|
- !ruby/object:Gem::Version
|
126
130
|
version: '0'
|
127
131
|
requirements: []
|
128
132
|
rubyforge_project:
|
129
|
-
rubygems_version: 2.2.
|
133
|
+
rubygems_version: 2.2.2
|
130
134
|
signing_key:
|
131
135
|
specification_version: 4
|
132
136
|
summary: Simple Ruby interface to facilitate working with Wix Toolset
|